Brighter Shores Wiki en_bshoreswiki https://brightershoreswiki.org/ MediaWiki 1.41.1 first-letter Media Special Talk User User talk Brighter Shores Brighter Shores talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Forum Forum talk Property Property talk Concept Concept talk smw/schema smw/schema talk Rule Rule talk Module Module talk Gadget Gadget talk Gadget definition Gadget definition talk MediaWiki:Licenses 8 2 3 2024-03-22T01:55:27Z Jayden 3 Created page with "- Test" wikitext text/x-wiki - Test 460e1c05fd0384495986b8e31311db316915831a File:Favicon.ico 6 3 4 2024-03-22T01:56:10Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 5 4 2024-03-22T01:56:19Z Jayden 3 Protected "[[File:Favicon.ico]]": High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Main Page 0 4 6 2024-03-22T01:57:03Z Jayden 3 Created blank page wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 MediaWiki:Common.less 8 5 7 2024-03-22T02:14:07Z Jayden 3 initial based on osw wikitext text/x-wiki /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #c0a886; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #444; --background-link-color: #52351e; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: @black; --byline-color: @tundora; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours @import '@{common}/highlight.less'; // Usergroup highlighting // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc //@import '@{common}/cookies.less'; // Do you accept these cookies? @import '@{common}/charts.less'; // ChartJS hide config @import '@{common}/diff.less'; // Revision differences //@import '@{common}/itemcompare.less'; // Item compare css //@import '@{common}/announcement.less'; // Mainpage annnouncement pill (unused rn) @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/tooltips.less'; @import '@{common}/ooui.less'; // OOUI Customisations // Kartographer customisations - previously at /dooglemaps.less, currently being // imported here as as of 2022/8/22 it gets loaded before default styles instead @import 'MediaWiki:Kartographer.less'; // currently broken on its css page @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/coins.less'; // [[Template:Coins]] @import '@{common}/documentation.less'; // [[Template:Documentation]] @import '@{common}/fairycode.less'; // [[Template:Fairycode]] @import '@{common}/floornumber.less'; // [[Template:FloorNumber]] @import '@{common}/listen.less'; // [[Template:Listen]] @import '@{common}/plink.less'; // [[Template:Plink]] //@import '@{common}/pohroom.less'; // [[Template:POH Room]] - converted to TemplateStyles @import '@{common}/questdetails.less'; // [[Template:Quest details]] @import '@{common}/references.less'; // <references> @import '@{common}/editnotice.less'; // [[Template:Editnotice]] @import '@{common}/messagebox.less'; // Messagebox templates @import '@{common}/poll.less'; // Ajax poll styles //@import '@{common}/skilltraining.less'; // Skilltraining class @import '@{common}/storage.less'; // Storage templates; [[Template:Inventory]], [[Template:Equipment]], and related templates @import '@{common}/transcripts.less'; // Transcript pages // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // OSRS Wiki home page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages @import '@{common}/sitenotice.less'; // [[MediaWiki:Sitenotice]] @import '@{common}/mmg.less'; // [[Money making guides]] @import '@{common}/discussions.less'; // [[RS:RG]] [[RS:AD]] //@import '@{common}/oswf.less'; // [[RS:OSWF]] - unused //@import '@{common}/rstheme.less'; // [[RS:THEME]] - converted to TemplateStyles @import '@{common}/gemw.less'; // GE charts and Exchange ns pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } // calculator script config .jcConfig { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // "updated since your last visit" notice when checking watchlisted page hist .updatedmarker { background-color: @caper; // static colour instead of inheriting, prob dont want to change across themes color: darken( @san-felix, 10% ) } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 0320d0a75b1d0193a8bb72c0d467969ddc879bf3 11 7 2024-03-22T02:17:59Z Jayden 3 Jayden changed the content model of the page [[MediaWiki:Common.less]] from "wikitext" to "less" less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #c0a886; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #444; --background-link-color: #52351e; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: @black; --byline-color: @tundora; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours @import '@{common}/highlight.less'; // Usergroup highlighting // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc //@import '@{common}/cookies.less'; // Do you accept these cookies? @import '@{common}/charts.less'; // ChartJS hide config @import '@{common}/diff.less'; // Revision differences //@import '@{common}/itemcompare.less'; // Item compare css //@import '@{common}/announcement.less'; // Mainpage annnouncement pill (unused rn) @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/tooltips.less'; @import '@{common}/ooui.less'; // OOUI Customisations // Kartographer customisations - previously at /dooglemaps.less, currently being // imported here as as of 2022/8/22 it gets loaded before default styles instead @import 'MediaWiki:Kartographer.less'; // currently broken on its css page @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/coins.less'; // [[Template:Coins]] @import '@{common}/documentation.less'; // [[Template:Documentation]] @import '@{common}/fairycode.less'; // [[Template:Fairycode]] @import '@{common}/floornumber.less'; // [[Template:FloorNumber]] @import '@{common}/listen.less'; // [[Template:Listen]] @import '@{common}/plink.less'; // [[Template:Plink]] //@import '@{common}/pohroom.less'; // [[Template:POH Room]] - converted to TemplateStyles @import '@{common}/questdetails.less'; // [[Template:Quest details]] @import '@{common}/references.less'; // <references> @import '@{common}/editnotice.less'; // [[Template:Editnotice]] @import '@{common}/messagebox.less'; // Messagebox templates @import '@{common}/poll.less'; // Ajax poll styles //@import '@{common}/skilltraining.less'; // Skilltraining class @import '@{common}/storage.less'; // Storage templates; [[Template:Inventory]], [[Template:Equipment]], and related templates @import '@{common}/transcripts.less'; // Transcript pages // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // OSRS Wiki home page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages @import '@{common}/sitenotice.less'; // [[MediaWiki:Sitenotice]] @import '@{common}/mmg.less'; // [[Money making guides]] @import '@{common}/discussions.less'; // [[RS:RG]] [[RS:AD]] //@import '@{common}/oswf.less'; // [[RS:OSWF]] - unused //@import '@{common}/rstheme.less'; // [[RS:THEME]] - converted to TemplateStyles @import '@{common}/gemw.less'; // GE charts and Exchange ns pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } // calculator script config .jcConfig { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // "updated since your last visit" notice when checking watchlisted page hist .updatedmarker { background-color: @caper; // static colour instead of inheriting, prob dont want to change across themes color: darken( @san-felix, 10% ) } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 0320d0a75b1d0193a8bb72c0d467969ddc879bf3 12 11 2024-03-22T02:20:21Z Jayden 3 remove stuff that is going to be unnecessary less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #c0a886; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #444; --background-link-color: #52351e; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: @black; --byline-color: @tundora; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> // Page specific @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } bfdeeb95ce9ef88cbd4a4a4815897dcfdb140f75 MediaWiki:Gadgets-definition 8 6 8 2024-03-22T02:16:32Z Jayden 3 Created page with "This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there sh..." wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. ==Core== * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js|Less.css 1213ce9b473b6240c11f919234d56f6a131e0faa 10 8 2024-03-22T02:17:31Z Jayden 3 wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. ==Core== * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js 3222ab9a29b33e1557f169310e4e97f1ca3760e6 MediaWiki:Gadget-Less.js 8 7 9 2024-03-22T02:17:03Z Jayden 3 Created page with "window.lessTargets = [ // globals 'MediaWiki:Common.css', 'MediaWiki:Minerva.css', 'MediaWiki:Vector.css', ] if ( window.lessTargets.includes( mw.config.get( 'wgPageName' ).replace(new RegExp('\.less$'),'.css' ) ) ) { mw.loader.load( '//meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js?action=raw&ctype=text/javascript' ) }" javascript text/javascript window.lessTargets = [ // globals 'MediaWiki:Common.css', 'MediaWiki:Minerva.css', 'MediaWiki:Vector.css', ] if ( window.lessTargets.includes( mw.config.get( 'wgPageName' ).replace(new RegExp('\.less$'),'.css' ) ) ) { mw.loader.load( '//meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js?action=raw&ctype=text/javascript' ) } 555903f818bcedc4b7b8637521b9f43eb6572b1b MediaWiki:Common.less/mixins.less 8 8 13 2024-03-22T02:21:09Z Jayden 3 Created page with "/* Less mixins to be used from any skin. */ // for HiDPI screens; otherwise icons appear blurry .pixelate() { @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { image-rendering: pixelated; // chrome only supports this value image-rendering: crisp-edges; // this is what should be used } } // used for .messagebox class .mbox(@name) { &.@{name} { background-color: var(~"--messagebox-@{name}-background"); border-color: var(~"--messagebox-@..." less less /* Less mixins to be used from any skin. */ // for HiDPI screens; otherwise icons appear blurry .pixelate() { @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { image-rendering: pixelated; // chrome only supports this value image-rendering: crisp-edges; // this is what should be used } } // used for .messagebox class .mbox(@name) { &.@{name} { background-color: var(~"--messagebox-@{name}-background"); border-color: var(~"--messagebox-@{name}-border"); color: var(~"--messagebox-@{name}-color"); a, a:visited, a:active { color: var(~"--messagebox-@{name}-link-color"); } } } .mboxvar(@name, @background, @border, @color, @link-color) { --messagebox-@{name}-background: @background; --messagebox-@{name}-border: @border; --messagebox-@{name}-color: @color; --messagebox-@{name}-link-color: @link-color; } // possible replacement of defining inline svgs as css vars using mask-image // currentColor functionality .mask(@url) { // chrome/edge doesnt support unprefixed as of 2023 -webkit-mask: url(~'"@{url}"') no-repeat 50% 50% / contain; mask: url(~'"@{url}"') no-repeat 50% 50% / contain; } f8b131a3392658708df53e292f5ef1a99530624b File:Lora.woff2 6 9 14 2024-03-22T02:27:28Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 17 14 2024-03-22T02:28:44Z Jayden 3 Protected "[[File:Lora.woff2]]": High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Lora-Italic.woff2 6 10 15 2024-03-22T02:28:30Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 16 15 2024-03-22T02:28:36Z Jayden 3 Protected "[[File:Lora-Italic.woff2]]": High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 MediaWiki:Common.less/fonts.less 8 11 18 2024-03-22T02:30:21Z Jayden 3 Created page with "// https://fonts.google.com/specimen/Lora @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); }" less less // https://fonts.google.com/specimen/Lora @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } eab9f703cb08be07eb88833a64a3ac2d84b91df2 MediaWiki:Common.less/variables.less 8 12 19 2024-03-22T02:32:56Z Jayden 3 base cp from rsw less less /* ====================== THEME VARIABLES ====================== */ // colors are sorted from darkest to lightest // See <https://davidwalsh.name/sass-color-variables-dont-suck> for naming system // Don't change any of this unless you know what you're doing /* ------------------ brand colors ------------------ */ // blues @chathams-blue: #115883; @jelly-bean: #246c97; @steel-blue: #438ab5; @fountain-blue: #6ba5c8; @spindle: #c1deee; @selago: #f6fbfe; @nav-blue: #d8e5ff; // gray-blues @grey-gray: #ddd; @river-bed: #444e5a; @shuttle-gray: #5d6773; @gray-chateau: #949eaa; @loblolly: #bdc5cd; @mystic: #e4eaee; @black-haze: #f9fafa; // grays @mineshaft: #333; @tundora: #4c4c4c; @boulder: #777; @silver: #ccc; @gallery: #eee; @alabaster: #f9f9f9; // dark mode @black-pearl: #071022; @big-stone: #172136; @cloud-burst: #222e45; @pickled-bluewood: #313e59; @waikawa-grey: #596e96; @portage: #8cabe6; // BROWN dark mode @ebony-brown: #1b1612; @mocha-brown: #28221d; @cacao-brown: #312a25; @sable-brown: #3e362f; @driftwood-brown: #5e5248; @taupe-brown: #736559; @kharid-sand: #b79d7e; @slate-grey: #98a2b6; @ivory-white: #f4eaea; /* ------------------- other brands ------------------- */ // Discord @discord-bg: #5865f2; @discord-bg-dark: #525ee0; @discord-bg-darker: #4c57d0; /* ------------------- status colors ------------------- */ // reds @mocaccino: #801c13; @old-brick: #9f261e; @flamingo: #ee4231; @apricot-peach: #fbc0ba; @bridesmaid: #feecea; // oranges @antique-bronze: #7a3f08; @korma: #b55e0c; @ecstasy: #f7861b; @corvette: #fbcfa6; @lace: #fef0e4; // yellows @cinnamon: #786300; @olive: #a48900; @supernova: #f9d000; @golden: #fcea94; @half-dutch: #fef9de; // greens @san-felix: #2e5e05; @la-palma: #3c780a; @lima: #6bc71f; @caper: #c3e8a3; @frost: #ecf8e3; // blues @regal-blue: #03436b; @venice-blue: #0b5884; @curious-blue: #3ea6e6; @jordy-blue: #aad9f5; @tropical-blue: #e5f3fc; // purples @honey-flower: #3d276b; @seance: #4f348b; @medium-purple: #855cd8; @perfume: #cfc0f0; @heliotrope: #f0ecfa; // pinks @cosmic: #6d3662; @cannon-pink: #984c89; @lavender: #e874cf; @cherub: #f5c8ec; @french-lilac: #fceef9; // other @black: #000; @white: #fff; /* ---------------- shadows ---------------- */ @box-shadow: 0 .25rem .35rem -0.25rem rgba(0,0,0,.1); @box-shadow-dark: 0 .25rem .35rem -0.25rem rgba(0,0,0,.3); /* --------------------- border-radius --------------------- */ // from wmui: // <https://github.com/wikimedia/wikimedia-ui-base/blob/master/wikimedia-ui-base.less> @border-radius: 2px; @border-radius-circle: 50%; @border-radius-round: 9999px; /* --------------------- breakpoints --------------------- */ // also from wmui // mobile @width-breakpoint-mobile: 320px; // tablet @width-breakpoint-tablet: 720px; // desktop @width-breakpoint-desktop: 1000px; // Wider desktop @width-breakpoint-desktop-wide: 1200px; @width-breakpoint-desktop-extrawide: 2000px; /* ------------------------ easing curves <https://easings.net> ------------------------ */ @ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94); @ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1); /* ----------------- typefaces ----------------- */ // imported in [[MediaWiki:Common.less/fonts.less]] @serif-stack: 'Lora', 'Palatino', 'Georgia', serif; @sans-serif-stack: 'Helvetica Neue', 'Arial', sans-serif; @BODY_MAIN: var(--body-main); @BODY_LIGHT: var(--body-light); @BODY_MID: var(--body-mid); @BODY_DARK: var(--body-dark); @BODY_BORDER: var(--body-border); @BUTTON_BORDER: var(--button-border); @BUTTON_DARK: var(--button-dark); @BUTTON_LIGHT: var(--button-light); @SIDEBAR: var(--sidebar); @SEARCH_BOX: var(--search-box); @LINK_COLOR: var(--link-color); @REDLINK_COLOR: var(--redlink-color); @TEXT_COLOR: var(--text-color); @infobox-background: @BODY_LIGHT; @infobox-header-color: @BODY_DARK; @infobox-border-color: @BODY_BORDER; @infobox-subheader-color: @BODY_DARK; 105ef40b78f0a254f6e2d5e5076eaea93cd56b60 MediaWiki:Common.less/elements.less 8 13 20 2024-03-22T02:34:03Z Jayden 3 Created page with "/* =================== HTML elements =================== */ :root { // todo: delete these, they're for rsw only and we already use our own colors --base-text-color: saturate( darken( @river-bed, 5% ), 5% ); --base-heading-color: @river-bed; --base-heading-border: @mystic; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } @base-text-color: var(--base-text-color); @base-heading-color: var(--base-heading-..." less less /* =================== HTML elements =================== */ :root { // todo: delete these, they're for rsw only and we already use our own colors --base-text-color: saturate( darken( @river-bed, 5% ), 5% ); --base-heading-color: @river-bed; --base-heading-border: @mystic; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } @base-text-color: var(--base-text-color); @base-heading-color: var(--base-heading-color); @base-heading-border: var(--base-heading-border); /* -------------------- body -------------------- */ #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } /* -------------------- headings -------------------- */ h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: @serif-stack; } // Clear left on first subheader. Useful to start section after DIIs .mw-parser-output h2:first-of-type { clear: left; } /* ------------------------- <footer> below content ------------------------- */ .mw-footer { color: var(--background-text-color); li { color: var(--background-text-color); } a, a:active, a:visited { color: var(--background-link-color); } } /* ------------------------- <input> placeholder ------------------------- */ ::placeholder { color: var(--subtle-color); } b3676b4ca26089931db1cc63e0a949902007a85f File:Wiki background.jpg 6 14 21 2024-03-22T02:34:25Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 22 21 2024-03-22T02:34:34Z Jayden 3 Protected "[[File:Wiki-background.jpg]]": High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 23 22 2024-03-22T02:34:44Z Jayden 3 Jayden moved page [[File:Wiki-background.jpg]] to [[File:Wiki background.jpg]] without leaving a redirect wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 MediaWiki:Common.less/links.less 8 15 24 2024-03-22T02:35:08Z Jayden 3 base cp from rsw less less /* ================= link colors ================= */ /* -------------------- internal links -------------------- */ a { color: @LINK_COLOR; &:visited, &:active { color: @LINK_COLOR; } &.new { color: @REDLINK_COLOR; &:visited { color: @REDLINK_COLOR; } } } // interwiki link .mw-parser-output a.extiw, // external links .mw-parser-output a.external { color: @LINK_COLOR; &:visited, &:active { color: @LINK_COLOR; } } // recolor internal purge links classified by MediaWiki as external .jsPurgeLink a.external { color: @LINK_COLOR; } b6aabe6e4a2fe4c5820dd3accc0b3aa26c13bb63 MediaWiki:Common.less/interface.less 8 16 25 2024-03-22T02:35:37Z Jayden 3 base cp from rsw less less /* ===================== Common MediaWiki elements inside .mw-body ===================== */ :root { --errorbox-bg: @bridesmaid; --errorbox-border: @flamingo; --warningbox-bg: @half-dutch; --warningbox-border: @supernova; --successbox-bg: @frost; --successbox-border: @lima; } // core mw messagebox .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, // anon talk page message alert .usermessage { box-shadow: @box-shadow; } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: @box-shadow; li { border-color: var(--body-mid); } } // checkered background in file pages .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } // Prevents undesired background showing when next to expanded toc .mw-highlight { background: none; .linenos { background-color: var(--mw-code-background-color); // line number color: var(--byline-color); } // line number hover a:hover .linenos, .hll a .linenos { color: var(--text-color); } } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } // page history #pagehistory { ul { list-style: none; margin: 0; } li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; &.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } } } // Sticky compare rev #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid @BODY_DARK; padding: .25em 0; .wgl-stickyheader & { top: 2.5rem; // = height of stickyheader } } // auto section edit summaries .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } // revdeleted logs: "(log details removed)" li span.deleted, span.history-deleted { color: var(--byline-color); } // redlinked contribs page for users without edits .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } /* -------------------------------------- fix section heading being hidden underneath sticky header -------------------------------------- */ // technique from <https://css-tricks.com/hash-tag-links-padding/> body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } /* ------------------------ MultimediaViewer ------------------------*/ // main lightbox .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } // metadata panel .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } // download box and etc .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } // activation box header .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } // use consistent text color for all for simplicity .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, // activation box .mw-mmv-options-enable-alert, // deactivation box .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } /* ------------------------ RevisionSlider ------------------------*/ .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } /* ------------------------ mediawiki.ui ------------------------*/ .mw-ui { &-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); &:not(:disabled) { &:hover, &:active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent),inset 0 0 0 2px #fff; } // there's an override for it &:visited { color: var(--ooui-text); } } &.mw-ui-progressive { &:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); &:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent),inset 0 0 0 2px #fff; } &:active, &.is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } } } } // a lot of these need to be redefined since they have the same specificity // as the above &-button&-destructive:not( :disabled ) { color: #fff; } &-button&-quiet, &-button&-quiet&-progressive, &-button&-quiet&-destructive { // background-color: transparent; color: var(--text-color); } input[type='checkbox']:hover + &-button&-quiet, input[type='checkbox']:hover + &-button&-quiet&-progressive, input[type='checkbox']:hover + &-button&-quiet&-destructive, &-button&-quiet:hover, &-button&-quiet&-progressive:hover, &-button&-quiet&-destructive:hover { background-color: rgba(0,24,73,0.02745098); color: var(--text-color); border-color: transparent } input[type='checkbox']:focus + &-button&-quiet, input[type='checkbox']:focus + &-button&-quiet&-progressive, input[type='checkbox']:focus + &-button&-quiet&-destructive, &-button&-quiet:focus, &-button&-quiet&-progressive:focus, &-button&-quiet&-destructive:focus { color: var(--text-color); // border-color: #36c; // box-shadow: inset 0 0 0 1px #36c,inset 0 0 0 2px #fff } input[type='checkbox']:active + &-button&-quiet, input[type='checkbox']:active + &-button&-quiet&-progressive, input[type='checkbox']:active + &-button&-quiet&-destructive, &-button&-quiet:active, &-button&-quiet&-progressive:active, &-button&-quiet&-destructive:active { background-color: rgba(0,36,73,0.08235294); color: var(--text-color); border-color: #72777d; // box-shadow: none } &-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); &:hover { border-color: var(--ooui-input-border--hover); } &::placeholder { color: var(--byline-color); } } } /* ------------------------ Redirects ------------------------*/ // convert to mask .mw-content-ltr .redirectText li { &:first-child { padding: 0; background: 0; &::before { content:''; background: currentcolor; .mask("filepath://Redirect-arrow.svg"); display: inline-block; width: 47px; height: 20px; } } } f795d41042c128e4f228f295b3f576cc1fdbeb14 MediaWiki:Common.less/wikitables.less 8 17 26 2024-03-22T02:36:24Z Jayden 3 base cp from rsw less less :root { --wikitable-header-bg: @BODY_DARK; --wikitable-border: @BODY_BORDER; --wikitable-bg: @BODY_LIGHT; --wikitable-bg-lighter: #e9e3d6; // lighten(@wikitable-bg, 10%); Used on hover effect --wikitable-color: @TEXT_COLOR; --table-na-background: fade(@white, 30); --table-na-color: var(--subtle-color); --table-yes-background: @caper; --table-yes-color: @san-felix; --table-no-background: @apricot-peach; --table-no-color: @mocaccino; --table-maybe-background: @golden; --table-maybe-color: @cinnamon; } // Brown-ify defaults .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: @box-shadow; // All cells borders > tr > th, > tr > td, > * > tr > th, > * > tr > td { border-color: var(--wikitable-border); // Template:NoBorder &.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } } // All header cells bg > tr > th, > * > tr > th { background-color: var(--wikitable-header-bg); } // Already in a box .tabber & { box-shadow: none; } } // Metadata tables, allmessages, etc .mw_metadata { td, th { border-color: var(--wikitable-border); } th { background-color: var(--wikitable-header-bg); } td { background-color: var(--wikitable-bg); } } // Special:AllPages, BlockList, etc .mw-datatable { border-color: var(--wikitable-border); td, th { border-color: var(--wikitable-border); } // cells th { background-color: var(--wikitable-header-bg); } // headers td { background-color: var(--wikitable-bg); } // on hover on both cells tr:hover td { background-color: var(--wikitable-bg); } } // alternating colours (similar to spreadsheets) table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } // Template:NA .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } // Template:Yes .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } // Template:No .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } // Template:Maybe .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } // Special:AllMessages #mw-allmessagestable { .am_actual, .am_default { background-color: var(--wikitable-bg); } .am_default:hover, .am_actual:hover, tbody:hover td { background-color: var(--wikitable-bg-lighter); } } // For tables within tables, to make them take up the full space of a cell table.wikitable td.no-cell-spacing { padding: 0; height: 0; // actual height is overridden by content height, but this allows height:100% to stretch to full td height table { margin: -1px; // collapse borders with parent td width: calc(100% + 2px); height: calc(100% + 2px); } } // used on mmg table and similar // to hide bullet points .plainlist { ol, ul { margin: 0; } li { margin-bottom: 0; // might make lists slightly clamped tho list-style: none; } } /* table alignment help */ /* nth td from the left is right-aligned - ths are ignored */ table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } /* center */ table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } /* left */ table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } dd0fd26ccb6dfb9f28bfefd5d04d556a18453f88 MediaWiki:Common.less/diff.less 8 18 27 2024-03-22T02:36:38Z Jayden 3 Created page with "/* ================= diffs ================= */ :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: @black; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: @black; --diff-context-border-color: @BODY_MID; --diff-context-background: @BODY_MID; } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-con..." less less /* ================= diffs ================= */ :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: @black; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: @black; --diff-context-border-color: @BODY_MID; --diff-context-background: @BODY_MID; } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); // blue .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } } .diff-deletedline { border-color: var(--diff-deletedline-border-color); // green .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } } // "↪" .mw-diff-movedpara-left:after, // "↩" .mw-diff-movedpara-right:after { color: var(--text-color); } 2a6dec5f19ef71fb4b194e5554e06e213c876336 MediaWiki:Common.less/notifications.less 8 19 28 2024-03-22T02:37:02Z Jayden 3 base cp from rsw less less // MediaWiki notif popup when saving edits or adding page to watchlist .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } // == Echo == // Special:Notifications // Page toolbar .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } // secondary dates next to "Today", "Yesterday", etc. .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } // wiki name .mw-echo-ui-pageNotificationsOptionWidget { &.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } // number of notifs &-label-count { background-color: var(--ooui-normal); color: var(--byline-color); // number of notifs for selected .oo-ui-optionWidget-selected & { color: var(--ooui-accent); } } // highlighted wiki name &.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); // "Pages with unread notifications" &-subtitle { color: var(--byline-color); } } // popup and footer .mw-echo-ui-notificationBadgeButtonPopupWidget-popup { > .oo-ui-popupWidget-popup { > .oo-ui-popupWidget-head, > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } // in actuality an ooui button > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } } } // Notifications interface .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); &:hover, &-unread:hover { background-color: var(--ooui-normal--hover); } &:last-child { border-bottom-color: var(--ooui-normal-border); } &-unread { background-color: var(--search-box); } } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } // unread circle .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); .mw-echo-ui-toggleReadCircleButtonWidget:hover & { background-color: var(--ooui-progressive--hover); } } // read .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } // same text colour for all .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @notification-background-unseen: var(--wikitable-bg-lighter); @notification-background-unread: var(--search-box); @notification-background-read: var(--body-main); @keyframes unseen-fadeout-to-unread { from { background-color: @notification-background-unseen; } to { background-color: @notification-background-unread; } } @keyframes unseen-fadeout-to-read { from { background-color: @notification-background-unseen; } to { background-color: @notification-background-read; } } d7d0ac681e942677378eca716e4e0acc8a358d12 MediaWiki:Common.less/pagepreviews.less 8 20 29 2024-03-22T02:37:28Z Jayden 3 base cp from rsw less less // Page preview popups .mwe-popups { background: var(--body-light); .mwe-popups-container { color: var(--text-color); background: var(--body-light); // arrow pointing to link // seems to be a different class for each possible position and img combination &.flipped-x-y:before, &.flipped-y:before { border-top: none; } &.mwe-popups-no-image-tri:before { border-bottom: none; } &.flipped-x-y:after, &.flipped-y:after { border-top-color: var(--body-light); } &.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } } .mwe-popups-settings-icon:hover, .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } // the following cancelled out the brightness adjustment by above // and also was added to the preview-generic icon .mw-ui-icon-element:not(.disabled):hover { background: none; } // text section .mwe-popups-extract { color: var(--text-color); // fade for text overflow &[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } } } // Anon preferences popup .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); header { border-color: var(--ooui-interface-border); } main#mwe-popups-settings-form { p { color: var(--byline-color); } // text beside radio button form label > span { color: var(--ooui-text); } } } cae7f4b7db5ab6454f5fc21dddf26b725c0802e8 MediaWiki:Common.less/smw.less 8 21 30 2024-03-22T02:37:58Z Jayden 3 base cp from rsw less less /** * Semantic MediaWiki */ :root { --smw-ask-options-even-bg: @BODY_MID; --smw-ask-options-odd-bg: @BODY_LIGHT; --smw-ask-action-btn-lblue-bg: @BODY_MAIN; --smw-ask-action-btn-lblue-color: @black; --smw-ask-action-btn-lblue-border-color: @OSRSW_BROWN; --smw-ask-action-btn-dblue-bg: @OSRSW_BROWN; --smw-ask-action-btn-dblue-color: @white; --smw-ask-action-btn-dblue-border-color: @BUTTON_BORDER; } // fieldset borders .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields { tr td { background-color: var(--smw-ask-options-even-bg); } tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } } .smw-ask-action-btn { &.smw-ask-action-btn-lblue, &.smw-ask-action-btn-lblue:hover, &.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } &.smw-ask-action-btn-dblue, &.smw-ask-action-btn-dblue:hover, &.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } } /* ===================================== SMW search, ask and property pages ===================================== */ .smw-ask-query, .smw-ask-actions { textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } } .smw-ask-query-format { select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } } /* .smw-ask-sorting, .smw-ask-options-fields { select { background-color: darken( var(--body-mid), 2% ); border: 1px solid #4c5574; // this is how it looks with 'rgba(250, 250, 255, .25)' color: var(--ooui-text); } input { background-color: darken( var(--body-mid), 2% ); border: 1px solid #4c5574; // this is how it looks with 'rgba(250, 250, 255, .25)' color: var(--ooui-text); padding: 2px 1px; } } */ .smw-ask-toplinks { background-color: var(--body-mid); span.smw-icon-info { background: none; padding: 0 !important; // beat inline styles &::before { content: ''; background: var(--text-color); .mask("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E"); padding: 0 0 3px 18px; } } } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom,transparent,var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } // buttons input { &.smw-ask-action-btn { &.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } } } a { &.smw-ask-action-btn { &.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); &:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } &:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } } } &.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } } } // Callout messages .smw-callout { // why dont these just use mediawiki core ones... &-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } &-info { background-color: var(--body-light); border-color: var(--body-dark); } &-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } &-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } } // Property page usage count indicators .smw-tabs input.nav-tab:checked + label.nav-label { &, &:hover { color: inherit; } } #tab-smw-property-value:checked + label.nav-label .usage-count { color: @white; background-color: var(--ooui-progressive); &.moderate { color: @white; background-color: @korma; border-color: @korma; } &.high { color: @white; background-color: @old-brick; border-color: @old-brick; } } // Property:Foo pages .smw-property-page-results { // Property page results headers .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } // Property page result rows hover .value-row:hover { background-color: var(--ooui-normal--hover); } // Property page alphabetic headers .smw-table .header-row { color: var(--text-color); } } // Tooltips .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); .tippy-arrow { border-top-color: var(--body-light); &:after { border-top-color: var(--body-light); } } } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); input { border-left-color: var(--ooui-interface-border) !important; //beating !important on default style color: var(--ooui-text) !important; } } /* Special:Concepts & Property: */ .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: @white; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } /* =================== FACTS under edits ==================== */ .smw-factbox { background: var(--body-main); border-color: transparent; } // is this still needed .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } /* --------------------------------- [[Special:Browse]] --------------------------------- */ .smwb-theme-light { .smwb-title, .smwb-center, .smwb-actions, .smwb-prophead { background-color: @BODY_MID; } .smwb-factbox { border-left-color: @BODY_MID; } .smwb-ifactbox { border-right-color: @BODY_MID; } .smwb-propval { background-color: @BODY_LIGHT; } } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox, .smwb-factbox { .smwb-cell { border-top: 1px solid var(--wikitable-border); } } .smwb-propvalue, .smwb-ipropvalue { .smwb-prophead, .smwb-propval { font-size: 0.9em; } } // Override very specific link styles :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent { span.smwbrowse { a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } } span.smwsearch { a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } } } 09002a5551b3e38bfb657867b8df6ea225f84497 39 30 2024-03-22T02:42:08Z Jayden 3 less less /** * Semantic MediaWiki */ :root { --smw-ask-options-even-bg: @BODY_MID; --smw-ask-options-odd-bg: @BODY_LIGHT; --smw-ask-action-btn-lblue-bg: @BODY_MAIN; --smw-ask-action-btn-lblue-color: @black; --smw-ask-action-btn-lblue-border-color: @BODY_LIGHT; --smw-ask-action-btn-dblue-bg: @BODY_LIGHT; --smw-ask-action-btn-dblue-color: @white; --smw-ask-action-btn-dblue-border-color: @BUTTON_BORDER; } // fieldset borders .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields { tr td { background-color: var(--smw-ask-options-even-bg); } tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } } .smw-ask-action-btn { &.smw-ask-action-btn-lblue, &.smw-ask-action-btn-lblue:hover, &.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } &.smw-ask-action-btn-dblue, &.smw-ask-action-btn-dblue:hover, &.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } } /* ===================================== SMW search, ask and property pages ===================================== */ .smw-ask-query, .smw-ask-actions { textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } } .smw-ask-query-format { select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } } /* .smw-ask-sorting, .smw-ask-options-fields { select { background-color: darken( var(--body-mid), 2% ); border: 1px solid #4c5574; // this is how it looks with 'rgba(250, 250, 255, .25)' color: var(--ooui-text); } input { background-color: darken( var(--body-mid), 2% ); border: 1px solid #4c5574; // this is how it looks with 'rgba(250, 250, 255, .25)' color: var(--ooui-text); padding: 2px 1px; } } */ .smw-ask-toplinks { background-color: var(--body-mid); span.smw-icon-info { background: none; padding: 0 !important; // beat inline styles &::before { content: ''; background: var(--text-color); .mask("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E"); padding: 0 0 3px 18px; } } } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom,transparent,var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } // buttons input { &.smw-ask-action-btn { &.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } } } a { &.smw-ask-action-btn { &.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); &:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } &:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } } } &.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } } } // Callout messages .smw-callout { // why dont these just use mediawiki core ones... &-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } &-info { background-color: var(--body-light); border-color: var(--body-dark); } &-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } &-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } } // Property page usage count indicators .smw-tabs input.nav-tab:checked + label.nav-label { &, &:hover { color: inherit; } } #tab-smw-property-value:checked + label.nav-label .usage-count { color: @white; background-color: var(--ooui-progressive); &.moderate { color: @white; background-color: @korma; border-color: @korma; } &.high { color: @white; background-color: @old-brick; border-color: @old-brick; } } // Property:Foo pages .smw-property-page-results { // Property page results headers .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } // Property page result rows hover .value-row:hover { background-color: var(--ooui-normal--hover); } // Property page alphabetic headers .smw-table .header-row { color: var(--text-color); } } // Tooltips .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); .tippy-arrow { border-top-color: var(--body-light); &:after { border-top-color: var(--body-light); } } } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); input { border-left-color: var(--ooui-interface-border) !important; //beating !important on default style color: var(--ooui-text) !important; } } /* Special:Concepts & Property: */ .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: @white; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } /* =================== FACTS under edits ==================== */ .smw-factbox { background: var(--body-main); border-color: transparent; } // is this still needed .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } /* --------------------------------- [[Special:Browse]] --------------------------------- */ .smwb-theme-light { .smwb-title, .smwb-center, .smwb-actions, .smwb-prophead { background-color: @BODY_MID; } .smwb-factbox { border-left-color: @BODY_MID; } .smwb-ifactbox { border-right-color: @BODY_MID; } .smwb-propval { background-color: @BODY_LIGHT; } } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox, .smwb-factbox { .smwb-cell { border-top: 1px solid var(--wikitable-border); } } .smwb-propvalue, .smwb-ipropvalue { .smwb-prophead, .smwb-propval { font-size: 0.9em; } } // Override very specific link styles :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent { span.smwbrowse { a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } } span.smwsearch { a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } } } 672f80a30394f9fb3332eeb3035c36cd85721842 MediaWiki:Common.less/tabber.less 8 22 31 2024-03-22T02:38:24Z Jayden 3 base cp from rsw less less /* ============================== <tabber> styling ============================== */ :root { --tabber-tab-bg: @BODY_LIGHT; --tabber-tab-border-color: @BODY_BORDER; --tabber-active-tab-bg: @BODY_LIGHT; --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: @BODY_LIGHT; --tabber-active-tab-hover-border-color: @BODY_BORDER; --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: @BODY_LIGHT; --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: @BODY_BORDER; --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: @BODY_LIGHT; --tabber-inactive-tab-hover-border-color: @BODY_BORDER; } .tabber { margin: 1em 0; // display: inline-grid; moved to Vector because of mobile .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: @box-shadow; padding: 1em 1.5em; } } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; // override default Verdana li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; &:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } // hide the border between the active button and the tab &::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } } li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; &:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } &:link, &:visited { color: var(--tabber-inactive-tab-color); } } } d13abe3bc9afea2a2f2f8360beba0c6449ed753d MediaWiki:Common.less/ooui.less 8 23 32 2024-03-22T02:38:48Z Jayden 3 Created page with "/* ====================== OOUI ====================== */ // MediaWiki documentation: <https://www.mediawiki.org/wiki/OOUI> // Interactive documentation: <https://doc.wikimedia.org/oojs-ui/master/demos/> // Styles repo directory: <https://github.com/wikimedia/oojs-ui/tree/master/src/themes/wikimediaui> // Variables @ooui-normal: #d8ccb4; // aka --body-light @ooui-normal-border: #b8a282; // aka --body-dark @ooui-progressive: #605443; // aka --button-backgr..." less less /* ====================== OOUI ====================== */ // MediaWiki documentation: <https://www.mediawiki.org/wiki/OOUI> // Interactive documentation: <https://doc.wikimedia.org/oojs-ui/master/demos/> // Styles repo directory: <https://github.com/wikimedia/oojs-ui/tree/master/src/themes/wikimediaui> // Variables @ooui-normal: #d8ccb4; // aka --body-light @ooui-normal-border: #b8a282; // aka --body-dark @ooui-progressive: #605443; // aka --button-background; maybe too dark @ooui-box-shadow-base--focus: inset 0 0 0 1px var(--ooui-accent); @ooui-box-shadow-input-binary--active: inset 0 0 0 1px var(--ooui-progressive--hover); @ooui-color-base--inverted: @white; :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255,255,255,0.5); // use the same styles for :hover AND :active // :focus will use the accent var --ooui-normal: darken( @ooui-normal, 2% ); // default styles basically add +2% luminance (from #f8f9fa to #ffffff) // there's also another hover color: #eaecf0 (like .oo-ui-tool-link:hover) // ...but we only have one var for button hover, so we should make sure // the color does not blend with its bg --ooui-normal--hover: lighten(@ooui-normal, 4%); --ooui-normal-border: @ooui-normal-border; // use separate color for progressive buttons - BUT use link-color for // anywhere else that uses progressive colors; this isnt the greatest idea // and unifying them is better in the longer term --ooui-progressive: @ooui-progressive; --ooui-progressive--hover: lighten(@ooui-progressive, 10%); // border and bg are the same in non-normal buttons --ooui-accent: var(--link-color); // probably not worth adjusting <textarea>/<input>-esque bg in light mode --ooui-input: #fff; --ooui-input-border: @ooui-normal-border; --ooui-input-border--hover: darken(@ooui-normal-border, 19%); --ooui-disabled: desaturate( lighten( @ooui-normal, 2%), 20% ); --ooui-disabled-border: desaturate( lighten( @ooui-normal-border, 10%), 12% ); --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, @SEARCH_BOX, @SEARCH_BOX 20px, @BODY_MAIN 20px, @BODY_MAIN 30px); } /* ---------------------- widgets ---------------------- */ // need this one to be able to adjust the font color inside popups and etc .oo-ui-widget { color: var(--ooui-text); } // combine checkbox and radio as theyre really similar .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); // same as bg for both } .oo-ui-dropdownWidget { &-handle { border-color: var(--ooui-normal-border); } &.oo-ui-widget-enabled &-handle { background-color: var(--ooui-normal); color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:active { color: var(--ooui-text); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-widget-enabled&-open &-handle { background-color: var(--ooui-normal--hover); } &.oo-ui-widget-disabled &-handle { color: var(--ooui-disabled-text); text-shadow: none; // wont look good on dark mode border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } } // input dropdowns .oo-ui-dropdownInputWidget { // ooui styled dropdown thats actually an html <select> select { border-color: var(--ooui-normal-border); } option { background-color: var(--ooui-interface); } &.oo-ui-widget-enabled { background-color: var(--ooui-normal); &:hover { background-color: var(--ooui-normal--hover); } select { color: var(--ooui-text); &:hover, &:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } // there's a `oo-ui-indicator-down` class here that adds the pointer // icon, it's not a separate element so invert filter for dark mode // is infeasible } } } // in Special:Preferences .oo-ui-labelWidget { &.oo-ui-inline-help { color: var(--byline-color); } } // dropdown selection menu .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); &-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } // options eg. on page deletion/move .oo-ui-menuOptionWidget { // hover &.oo-ui-optionWidget { // hover and selected option &-highlighted, // combined &-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } // hover on chosen option &-selected&-highlighted, &-pressed&-highlighted { color: var(--ooui-accent); } } // hover again &.oo-ui-widget-enabled { &.oo-ui-optionWidget { color: var(--ooui-text); } } // highlight & hover eg page deletion reason // &.oo-ui-optionWidget-selected&.oo-ui-optionWidget-highlighted, // &.oo-ui-optionWidget-pressed&.oo-ui-optionWidget-highlighted { // // } } .oo-ui-messageDialog { // eg exiting out editor without saving the edit modal &-title { color: inherit; } } .oo-ui-messageWidget { // all .messagebox like boxes &.oo-ui-messageWidget-block { // matching .errorbox &.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } // eg warning when there's templatedata when editing a template // matching .warningbox &.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } // matching .successbox &.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } &.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } } // ideally we would use our own success and error colors, but this will do for now &.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), &.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } } .oo-ui-optionWidget { &.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } // eg in ve "Options" window .oo-ui-outlineOptionWidget { &.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } } .oo-ui-popupWidget { // Popups eg when interacting with templates in ve &-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } // popups anchors/arrow .ooui-anchor(@direction) { .oo-ui-popupWidget-anchor:after { border-@{direction}-color: var(--ooui-interface); } .oo-ui-popupWidget-anchor:before { border-@{direction}-color: var(--ooui-interface-border); } } &-anchored- { &top { .ooui-anchor(bottom); } &bottom { .ooui-anchor(top); } &start { .ooui-anchor(right); } &end { .ooui-anchor(left); } } } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget { &-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } &.oo-ui-widget-enabled { &.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); &:hover { border-color: var(--ooui-input-border--hover); } } } } .oo-ui-tabOptionWidget { color: var(--ooui-text); .oo-ui-tabSelectWidget-framed & { &.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); & .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } } &.oo-ui-widget-enabled { &:hover, &:active { background-color: var(--body-light); color: var(--ooui-text); } &.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } } } .oo-ui-tabSelectWidget-frameless & { &.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); &:hover, &:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } } } } .oo-ui-tabSelectWidget { // eg used on [[Special:Preferences]] &-framed { background: none; // actually uses something like --ooui-interface border-bottom: 1px solid var(--ooui-interface-border); // our customisation } // used in TabberNeue (even though we dont have it) &-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } &-mobile { // both use the following mixin in core; but we already have a similar // var in minerva.css for these stuff already used in navboxes /* .oo-ui-horizontal-gradient( @startColor: #eee, @endColor: #fff, @startPos: 0, @endPos: 100% ) { background-color: average( @startColor, @endColor ); background-image: linear-gradient( to right, @startColor @startPos, @endColor @endPos ); } */ &.oo-ui-tabSelectWidget-framed:after { // background instead of -image so the prev properties used as // fallback for ancient browsers are reset background: var(--mobile-navbox-linear-gradient); } &.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } } } // eg recent changes selected filter tag .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); &.oo-ui-widget-enabled { color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } & .oo-ui-buttonElement-button { &:hover { background-color: var(--ooui-normal--hover); } } } } .oo-ui-tagMultiselectWidget { // rc/watchlist filter box &.oo-ui-widget-enabled { background-color: var(--ooui-interface); // and again - this time it's button bg &.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } } } } .oo-ui-textInputWidget { // eg RecentChanges filter changes input .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &.oo-ui-widget-enabled { .oo-ui-inputWidget-input { &::placeholder { color: var(--subtle-color); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } &[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } } &:hover { .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); &:focus { border-color: var(--ooui-accent); } } } @media screen { @media ( min-width: 0 ) { textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } } } &.oo-ui-widget-disabled { .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; // wont look good on dark mode border-color: var(--ooui-disabled-border); } } } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); &.oo-ui-widget-enabled { .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } &:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } } &:active, &:active:hover, &:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } } &.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } &:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:active, &:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:focus { border-color: var(--ooui-progressive); &::before { border-color: @ooui-color-base--inverted; } } } } &.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); // same as bg } } /* ---------------------- elements/buttons ---------------------- */ // mixin for frameless progressive/destructive button .mw-frameless-button-colored( @child, @color-text ) { > @{child}, // no distinct color for hover > @{child}:hover { color: @color-text; } > @{child}:active, &.oo-ui-buttonElement-pressed > @{child} { // dont differentiate between :active and normal color: @color-text; border-color: @color-text; } } .mw-framed-button-colored( @child, @color-text, @hover, @border-color--hover, /* @active,*/ @focus ) { > @{child} { color: @color-text; } > @{child}:hover { background-color: @hover; border-color: @border-color--hover; } > @{child}:focus { border-color: @focus; box-shadow: inset 0 0 0 1px @focus; } /* ugh uses lighten() > @{child}:active, &.oo-ui-buttonElement-pressed > @{child}, &.oo-ui-buttonElement-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { background-color: lighten( @active, 60% ); color: @active; border-color: @active; } */ } // mixin for framed progressive/destructive button .mw-framed-primary-button-colored( @child, @color, @hover, @active, @focus ) { > @{child} { background-color: @color; border-color: @color; } > @{child}:hover { background-color: @hover; border-color: @hover; } > @{child}:focus { border-color: @focus; box-shadow: inset 0 0 0 1px @focus, inset 0 0 0 2px @ooui-color-base--inverted; } > @{child}:active, &.oo-ui-buttonElement-pressed > @{child}, &.oo-ui-buttonElement-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { color: @ooui-color-base--inverted; background-color: @active; border-color: @active; } } .oo-ui-buttonElement { &-frameless { &.oo-ui-widget-enabled { > .oo-ui-buttonElement-button { color: var(--ooui-text); &:hover { color: var(--ooui-text); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } &.oo-ui-flaggedElement { &-progressive { .mw-frameless-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-text) ); // try out using text color as the button label like hard-coded darkmode } // not needed // &-destructive { // .mw-frameless-button-colored( ~'.oo-ui-buttonElement-button' ); // } } } &.oo-ui-widget-disabled { > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } } } &-framed { &.oo-ui-widget-disabled { > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } } &.oo-ui-widget-enabled { > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; // needed, else it would be overriden by non-active styles border-color: var(--ooui-progressive--hover); &:focus { border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-base--focus; } } // same as :hover above > .oo-ui-buttonElement-button:active, &.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &.oo-ui-flaggedElement { &-progressive { .mw-framed-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-text), var(--ooui-normal--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } &-destructive { // .mw-framed-button-colored( ~'.oo-ui-buttonElement-button', @color-destructive-non-primary, @background-color-framed--hover, @border-color-framed-destructive--hover, @color-destructive--active, @color-destructive--focus ); // since we arent changing destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); } } } } &.oo-ui-flaggedElement-primary { &.oo-ui-flaggedElement { &-progressive { .mw-framed-primary-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-progressive), var(--ooui-progressive--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } // dont need // &-destructive { // .mw-framed-primary-button-colored( ~'.oo-ui-buttonElement-button' ); // } } } } } } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } } /* ---------------------- windows ---------------------- */ .oo-ui-messageDialog { &-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } &-message { color: var(--ooui-text); } &-actions { // eg ace editor "Go to line number..." window &-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } &-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } } } .oo-ui-processDialog { &-content { .oo-ui-window-head, .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } } // need to reoverride so buttons wont have weird borders .oo-ui-actionWidget { > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; &:hover, &:active { border-top-color: transparent; border-bottom-color: transparent; } } &:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) { > .oo-ui-buttonElement-button { &:hover, &:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } &:focus { border-color: var(--ooui-accent); } } } } &-actions { &-safe, &-other { .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } } &-safe { .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) { > .oo-ui-buttonElement-button { &:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } } } } } } .oo-ui-windowManager { &-modal { // bg behind windows > .oo-ui-dialog { background-color: var(--ooui-window-background); } // all popup windows > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } } // window outlines &-modal&-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } } // we need this one to be able to adjust the font color inside windows .oo-ui-window { color: var(--ooui-text); } /* ---------------------- tools ---------------------- */ .mw-tool-colored( @child /*, @color-text*/ , @hover, @active , @focus , @active-text: @active ) { // > @{child} { // color: @color-text; // } > @{child}:hover { background-color: @hover; } > @{child}:focus { outline: 1px solid @focus; box-shadow: inset 0 0 0 1px @focus; } > @{child}:active, &.oo-ui-tool-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { background-color: var(--ooui-normal--hover); color: @active-text; box-shadow: none; } } .mw-primary-tool-colored( @child, @color, @hover, @active, @focus ) { > @{child} { // color: @ooui-color-base--inverted; background-color: @color; } > @{child}:hover { background-color: @hover; } > @{child}:focus { // outline: @border-width-base @border-style-base @focus; box-shadow: inset 0 0 0 1px @focus, inset 0 0 0 2px @ooui-color-base--inverted; } > @{child}:active, &.oo-ui-tool-active > @{child} { // color: @ooui-color-base--inverted; background-color: @active; // box-shadow: none; } // &.oo-ui-widget-disabled > @{child}, // &.oo-ui-widget-disabled > @{child}:active { // background-color: @background-color-filled--disabled; // color: @color-filled--disabled; // } } @ooui-toolbar: var(--ooui-interface); @ooui-toolbar-border: var(--body-mid); // mainly used by ve and source editor // toolbar .oo-ui-toolbar { &-bar { background-color: @ooui-toolbar; color: var(--ooui-text); // toolbar borders .oo-ui-toolbar-position-top > & { border-bottom-color: @ooui-toolbar-border; } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: @ooui-toolbar-border; } } } .oo-ui-tool { &.oo-ui-widget-enabled { .mw-tool-colored( ~'.oo-ui-tool-link', var(--ooui-normal--hover), var(--ooui-accent), var(--ooui-accent) ); // &.oo-ui-flaggedElement { // &-progressive { // .mw-tool-colored( ~'.oo-ui-tool-link', @background-color-tool--hover, @color-primary--active, @color-primary--focus ); // } // &-destructive { // .mw-tool-colored( ~'.oo-ui-tool-link', @color-destructive-non-primary, @background-color-tool--hover, @color-destructive--active, @color-destructive--focus ); // } // } &.oo-ui-flaggedElement-primary { &.oo-ui-flaggedElement { &-progressive { .mw-primary-tool-colored( ~'.oo-ui-tool-link', var(--ooui-progressive), var(--ooui-progressive--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } // &-destructive { // .mw-primary-tool-colored( ~'.oo-ui-tool-link', @color-destructive, @color-destructive--hover, @color-destructive--active, @color-destructive--focus ); // } } } } } .oo-ui-listToolGroup { // eg "Page options" dropdown &-tools .oo-ui-tool { &.oo-ui-widget-enabled { background-color: var(--ooui-normal); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } } // does not match source ordering &-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive) } } } // left-hand tool group .oo-ui-menuToolGroup { border-left-color: @ooui-toolbar-border; border-right-color: @ooui-toolbar-border; } .oo-ui-popupToolGroup { // dropdown menu &-tools { background-color: @ooui-toolbar; border-color: @ooui-toolbar-border; } &.oo-ui-widget-enabled { // eg hover "Insert" > .oo-ui-popupToolGroup-handle { &:hover { background-color: var(--ooui-normal--hover); } &:focus { outline: 1px solid var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } // ve "Page options" again .oo-ui-toolbar-actions & { > .oo-ui-popupToolGroup-handle { &:hover { // same as button hover border-right-color: var(--ooui-normal--hover); } } } } // might not match source ordering &-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } &-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } &.oo-ui-popupToolGroup-active { > .oo-ui-popupToolGroup-handle { // aka active background-color: var(--ooui-normal); color: var(--ooui-accent); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } } } } /* ---------------------- layouts ---------------------- */ .oo-ui-bookletLayout { &-outlinePanel { > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } } // eg "Show options" in ve template editor > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } } .oo-ui-fieldLayout { // disabled text color in layouts &-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } } // ooui <fieldset> .oo-ui-panelLayout { &-framed { border-color: var(--sidebar); // along with <h1/2> border } } /* ---------------------- others ---------------------- */ .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } // --- widgets in core mediawiki --- // DateInputWidget .mw-widget-dateInputWidget { &-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &-calendar { background-color: var(--ooui-interface); } &.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } } // CalendarWidget .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } // focused month &-day, // week day name &-day-heading { color: var(--ooui-text); } // other months &-day-additional { color: var(--ooui-text); opacity: 0.67; } &-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } &-item { &:hover { background-color: var(--ooui-progressive); } &-selected { background-color: var(--ooui-progressive--hover); } } } // e.g. on [[Special:AbuseFilter/examine]] .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); &:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0,0,0,0.25); } &-grid { .mw-widgets-datetime-calendarWidget-cell { &.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button { .oo-ui-labelElement-label { color: var(--subtle-color); } } &.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } } } } // input box .mw-widgets-datetime-dateTimeInputWidget { &-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &.oo-ui-widget-enabled { &.mw-widgets-datetime-dateTimeInputWidget-handle { &:hover { border-color: var(--ooui-input-border--hover); } } &:hover { input, textarea { border-color: var(--ooui-input-border--hover); } } .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } } } 2cebc4be97205d3d999fac025770169069d82407 MediaWiki:Common.less/visualeditor.less 8 24 33 2024-03-22T02:39:10Z Jayden 3 Created page with "/* ========================== VisualEditor ========================== */ @ooui-text: var(--ooui-text); @ooui-interface: var(--ooui-interface); @ooui-interface-border: var(--body-border); @ve-toolbar-border: var(--body-mid); // may look into https://www.mediawiki.org/wiki/VisualEditor/Gadgets#Gadget_-_Registering_VE_plugin // so ve-specific stuff will be all lazy loaded .ve-activated { .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { ba..." less less /* ========================== VisualEditor ========================== */ @ooui-text: var(--ooui-text); @ooui-interface: var(--ooui-interface); @ooui-interface-border: var(--body-border); @ve-toolbar-border: var(--body-mid); // may look into https://www.mediawiki.org/wiki/VisualEditor/Gadgets#Gadget_-_Registering_VE_plugin // so ve-specific stuff will be all lazy loaded .ve-activated { .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } } // limit to vector to not load on mobile .ve-ui-overlay { font-family: inherit; } // border atop special character menu .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: @ve-toolbar-border; } // "Insert paragraph" button, maybe other things .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: @ooui-interface-border; background-color: @ooui-interface; } // special characters menu // header .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } // buttons - same as source editor .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); &:hover { border-color: var(--body-dark); } } // when a link is selected .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } // inside link annotation box .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: @ooui-interface-border; } // ve version number .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } // unstyled tables .ve-ce-tableCellableNode { border-color: @ve-toolbar-border; } // "There are no references on this page to include in this list." // even though there is, just because it doesnt recognise cites templates // with <ref> tags embeded inside them .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } /* ------------------ modals ------------------ */ // template editor modal .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } // template description .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } // gallery modal .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: @ooui-interface-border; } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } // "Save your changes" modal .ve-ui-mwSaveDialog { color: var(--ooui-text); } // box below edit summary box .ve-ui-mwSaveDialog-options { background-color: @ooui-interface; border-color: @ooui-interface-border; } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } // char count remaining .ve-ui-mwSaveDialog-editSummary-count { border-color: @ooui-interface-border; } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } // borders inside edit notices .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: @ooui-interface-border; } // Templates config window .ve-ui-mwTransclusionOutlineControlsWidget { background-color: @ooui-interface; border-top-color: @ooui-interface-border; } .ve-ui-mwTransclusionOutlineTemplateWidget { &-sticky { background-color: @ooui-interface; } .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } &-no-template-parameters { color: var(--subtle-color); } } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: @ooui-interface-border; } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } // param "More" details button .ve-ui-expandableContent-toggle { background-color: @ooui-interface; } // fade beside it .ve-ui-expandableContent-fade { background: linear-gradient( to right, rgba( 255, 255, 255, 0 ) 0, @ooui-interface 90% ) } // keyboard shortcuts modal .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } /* ------------------ initialisation ------------------ */ .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: @ooui-interface; // based on `.oo-ui-toolbar-bar` } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: @ve-toolbar-border; // `.oo-ui-toolbar-position-top > .oo-ui-toolbar-bar` } /* ------------------ Parsoid ------------------ */ // technically these should not be here figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], //figure[typeof~='mw:Audio/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] /*, figure[typeof~='mw:Audio/Frame']*/ { border: none; background-color: var(--thumb-bg); > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } > figcaption { // same as .thumbcaption border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } } 13c9e11aa5cbb4e84eeea523476bb7e4e58321b9 MediaWiki:Common.less/templates.less 8 25 34 2024-03-22T02:39:31Z Jayden 3 Created blank page less less da39a3ee5e6b4b0d3255bfef95601890afd80709 MediaWiki:Common.less/infobox.less 8 26 35 2024-03-22T02:40:09Z Jayden 3 base cp from rsw less less :root { --infobox-text-color: var(--text-color); } 7cd8e00aa1a2f47d74e37c35403aa973f0950a45 MediaWiki:Common.less/references.less 8 27 36 2024-03-22T02:40:27Z Jayden 3 base cp from rsw less less /* ================== references ================== */ // Small reference list // apply to all <references/> ol.references, // apply to {{Reflist}} .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; // inherit from .reflist instead list-style-type: inherit; } // for {{Notelist}} .reflist-lower-alpha { list-style-type: lower-alpha; } // refs background when targetting refs ol.references li:target, sup.reference:target { background-color: var(--body-light); } // Hide certain text (namely quote parameters) from the references section to // shorten it and make it readable .hideQuotes .refhide { display: none; } dc09767e9cd1e83d6b2e2cb8e112ead830733d0f MediaWiki:Common.less/prefs.less 8 28 37 2024-03-22T02:40:43Z Jayden 3 base cp from rsw less less .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody { tr:nth-child(even) td { background-color: var(--body-light); } tr:hover td { background-color: var(--body-mid) } } ef9ae361a245ca4a136a490b0194d70b7ea98547 MediaWiki:Common.less/specials.less 8 29 38 2024-03-22T02:41:10Z Jayden 3 base cp from rsw less less /* --------------------------------- [[Special:RecentChanges]] [[Special:Watchlist]] --------------------------------- */ :root { --rc-positive-color: darken( @lima, 18% ); --rc-negative-color: darken( @flamingo, 18% ); } // Recent changes/page history byte indicators .mw-plusminus { &-pos { color: var(--rc-positive-color); } &-neg { color: var(--rc-negative-color); } } // "Other review tools" box .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: @border-radius; } // Filter box .mw-rcfilters-ui-filterTagMultiselectWidget { // "Active filtes" &-wrapper-content-title { color: var(--text-color); } // "No active filters." &-emptyFilters { color: var(--byline-color); } // full box bg &.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } // "Namespace" and "Tags" buttons &-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } // Small border when collapsed .mw-rcfilters-collapsed & { border-bottom-color: var(--ooui-interface-border); } } // dropdown menu footer .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } // "Advanced filters" in footer .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } // hovering over filter tag buttons .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } // Legend // Use both selector to prevent FOUC .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); // same as .catlinks } // the line separating old changes from new changes .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } // cut out huge amount of whitespace before each row .mw-changeslist { .client-js & ul, .client-js & table.mw-enhanced-rc { margin-left: 0; } } // separator in watchlist .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } // Filter selection drop down menu .mw-rcfilters-ui-itemMenuOptionWidget { &-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } // every tile &:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } &-label { // tile descriptions &-title, &-desc { color: var(--text-color); } } } // Selected filter .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted { &:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } } // filter sections .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); &-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } } // Dropdown header .mw-rcfilters-ui-filterMenuHeaderWidget { // "Filters" &-title { color: var(--ooui-text); } // bg &-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } } // in namespace filters .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } // "Results to show" .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } } // Saved filters label .mw-rcfilters-ui-savedLinksListItemWidget { &-label { color: var(--ooui-accent); } } .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted { .client-js & ul, .client-js & table.mw-enhanced-rc { margin-left: 1.5em; } } /* --------------------------------- [[Special:CreateAccount]] [[Special:UserLogin]] --------------------------------- */ .page-Special_CreateAccount, .page-Special_UserLogin { // message + form container .mw-ui-container { max-width: 64rem; margin: 0 auto; } } // Stats .mw-number-text { color: var(--byline-color); .mw-body-content & h3 { color: var(--text-color); } } /* --------------------------- [[Special:Search]] --------------------------- */ // convert icon to use masking #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; // for alignment align-items: center; &::before { content: ''; margin-right: 5px; // maybe should import the file on-wiki .mask('/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34'); background: var(--text-color); height: 20px; width: 20px; } } // Search results info .results-info { color: inherit; } // Search options table .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } // Selected tab .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; .divider { border-color: var(--body-border); } // "Search in namespaces:" h4 { font-family: inherit; } // bold subject namespace .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; // override 95% } .mw-search-result-data { color: var(--byline-color); } /* ----------------------------- [[Special:Listfiles]] ----------------------------- */ // fixing small images on FileList .page-Special_ListFiles { a.image img { width: inherit; height: inherit; } .TablePager_col_thumb { text-align: center; } } /* ----------------------------- [[Special:Editcount]] ----------------------------- */ #editcount table[border="1"] { background-color: @BODY_MAIN !important; // override inline style border-color: var(--wikitable-border) !important; margin-top: .5em; th, td { padding: .2em .4em; } th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } td { border: 1px solid var(--wikitable-border); } tr:nth-child(odd) { background-color: @BODY_LIGHT; } } /* Special:Notifications-related */ /* Fix placeholder background colour whilst loading items */ .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } // Special:Interwiki // same as [[Template:Yes]] table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } // Special:ProtectedPages .mw-protectedpages-unknown { color: var(--byline-color); } // Mark redirects in Special:AllPages and Special:Watchlist .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)" } // [[Special:ApiSandbox]] .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } // AbuseFilter and AbuseLog tables and text tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); th { background: var(--wikitable-header-bg); } th, td { border-color: var(--wikitable-border); } } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } // AbuseFilter editor - is div specific div.mw-abusefilter-editor, // warning/disallow message preview box #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } // dupe upload warningbox .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } /* ------------------------ SimpleBatchUpload ------------------------*/ // "Select files (or drop them here)..." span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } // results list ul.fileupload-results { li.ful-success { background-color: var(--successbox-bg); a { color: var(--link-color); } } li.ful-error { background-color: var(--errorbox-bg); } } decac8c7fea361ecfae1699340b21a2ea9b414c2 MediaWiki:Common.css 8 30 40 2024-03-22T02:42:12Z Jayden 3 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #c0a886; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #444; --background-link-color: #52351e; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } fabb7a58fc7a77178034ca33d3bf301e5ef88b65 MediaWiki:Vector.less 8 31 41 2024-03-22T02:43:40Z Jayden 3 base cp from rsw less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Vector.css]]. * * These styles will be applied to the Vector skin (desktop). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ @common: 'MediaWiki:Common.less'; @dir: 'MediaWiki:Vector.less'; // ===== Imports ===== @import '@{common}/mixins.less'; @import '@{common}/variables.less'; @import '@{dir}/elements.less'; // Vector interface files @import '@{dir}/vectormenu.less'; @import '@{dir}/vectorsearch.less'; @import '@{dir}/vectorsidebar.less'; @import '@{dir}/vectortabs.less'; @import '@{dir}/vectorfooter.less'; // Sidebar (rc widget) @import '@{dir}/rcsidebar.less'; // Image thumbnails @import '@{dir}/thumb.less'; // Table of Contents @import '@{dir}/toc.less'; // anything else that doesn't go into above files @import '@{dir}/interface.less'; // Editor interface @import '@{dir}/sourceeditor.less'; @import '@{dir}/editor.less'; // jQuery UI @import '@{dir}/jqueryui.less'; // Templates @import '@{dir}/infobox.less'; @import '@{dir}/navbox.less'; // Infobox & Misc Buttons //@import '@{dir}/button.less'; this is a duplicate of styles in [[MediaWiki:Gadget-switch-infobox.css]] // Misc @import '@{dir}/echo.less'; @import '@{dir}/transcripts.less'; @import '@{dir}/nodesktop.less'; // ===== Miscellaneous ===== // moved from [[MediaWiki:Common.less/tabber.less]] // because it caused them to go off-screen on mobile .tabber { display: inline-grid; } 506a6dc9ea2440e271a35ac25d81d2b8cde4437f 42 41 2024-03-22T02:44:13Z Jayden 3 remove stuff that is going to be unnecessary less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Vector.css]]. * * These styles will be applied to the Vector skin (desktop). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ @common: 'MediaWiki:Common.less'; @dir: 'MediaWiki:Vector.less'; // ===== Imports ===== @import '@{common}/mixins.less'; @import '@{common}/variables.less'; @import '@{dir}/elements.less'; // Vector interface files @import '@{dir}/vectormenu.less'; @import '@{dir}/vectorsearch.less'; @import '@{dir}/vectorsidebar.less'; @import '@{dir}/vectortabs.less'; @import '@{dir}/vectorfooter.less'; // Sidebar (rc widget) @import '@{dir}/rcsidebar.less'; // Image thumbnails @import '@{dir}/thumb.less'; // Table of Contents @import '@{dir}/toc.less'; // anything else that doesn't go into above files @import '@{dir}/interface.less'; // Editor interface @import '@{dir}/sourceeditor.less'; @import '@{dir}/editor.less'; // Misc @import '@{dir}/echo.less'; // ===== Miscellaneous ===== // moved from [[MediaWiki:Common.less/tabber.less]] // because it caused them to go off-screen on mobile .tabber { display: inline-grid; } 76ebdfd8b9e2514702209b0363503ea82d3a7fed 48 42 2024-03-22T02:47:18Z Jayden 3 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Vector.css]]. * * These styles will be applied to the Vector skin (desktop). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ @common: 'MediaWiki:Common.less'; @dir: 'MediaWiki:Vector.less'; // ===== Imports ===== @import '@{common}/mixins.less'; @import '@{common}/variables.less'; @import '@{dir}/elements.less'; // Vector interface files @import '@{dir}/vectormenu.less'; @import '@{dir}/vectorsearch.less'; @import '@{dir}/vectorsidebar.less'; @import '@{dir}/vectortabs.less'; // Image thumbnails @import '@{dir}/thumb.less'; // Table of Contents @import '@{dir}/toc.less'; // anything else that doesn't go into above files @import '@{dir}/interface.less'; // Editor interface @import '@{dir}/sourceeditor.less'; @import '@{dir}/editor.less'; // Misc @import '@{dir}/echo.less'; // ===== Miscellaneous ===== // moved from [[MediaWiki:Common.less/tabber.less]] // because it caused them to go off-screen on mobile .tabber { display: inline-grid; } b482f72a84b227ed47669a51bf6b8a489da143cd MediaWiki:Vector.less/elements.less 8 32 43 2024-03-22T02:44:42Z Jayden 3 base cp from rsw less less /* =================== Page elements =================== */ :root { --ul-list-style-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='13'%3E%3Ccircle cx='2.5' cy='9' r='2.5' fill='%23000'/%3E%3C/svg%3E"); // change fill to #000 } /* -------------------- body -------------------- */ // Prevent weird font scaling in Safari - is also in minerva html { -webkit-text-size-adjust: 100%; } body { background: var(--body-background-image) var(--body-background-color) top left / 1500px 375px no-repeat; font-family: @sans-serif-stack; } // for 1.37 the default text adjustments are put // on this class rather than .mw-body-content .vector-body { font-size: .9em; // changing Vector default 14px (0.875em) to 14.4px // line-height: 1.6; default } /* -------------------- headings -------------------- */ // page title #firstHeading { font-weight: bold; } /* -------------------- pre and code -------------------- */ pre, code, .mw-code { color: inherit; // inherit from body background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } /* -------------------- lists -------------------- */ // bold line margins dl { margin: 0; } /* -------------------- list -------------------- */ ul { list-style-image: var(--ul-list-style-image); } /* ------------------------- why is <hr> inset ------------------------- */ hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } /* ------------------------- fieldset ------------------------- */ fieldset { // same as <hr> and line under headers border-color: var(--sidebar); } /* -------------------- blockquote -------------------- */ .vector-body blockquote { border-color: var(--body-mid); } b637db091a3d88e51ff38ec082a0390f34910a31 MediaWiki:Vector.less/vectormenu.less 8 33 44 2024-03-22T02:45:07Z Jayden 3 base cp from rsw less less :root { --personal-links-bg: var(--body-main); // --background-text-color (#444) fill --arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M11.05 3.996l-.965-1.053-4.035 3.86-3.947-3.86L1.05 3.996l5 5 5-5' fill='%23444'/%3E%3C/svg%3E"); } .vector-menu-dropdown { .vector-menu-heading { background-color: var(--vector-tab-background); padding: 1em 0.75em 0.6923em; // 0.6923em is roughly 9px margin: 0; // kill negative pixel margin // "More" text &, &:hover, &:focus { color: var(--background-text-color); } &:after { background-image: var(--arrow-down); opacity: 1; } } .vector-menu-content { border-color: transparent; background-color: var(--body-light); box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.1); left: 0; // reset -1px offset since we don't have border between tabs } .mw-list-item { a { color: var(--link-color); } // Selected page on the menu &.selected a, &.selected a:visited { color: var(--text-color); } } } // top links #p-personal { background: var(--personal-links-bg); top: 0; right: 0; border-radius: 0 0 0 @border-radius * 2; height: 1.875em; // 30px with a 16px default font-size ul { padding: 0 1em 0 .4375em; // + list items' margin-left of 9px = 1em on both sides } } abd60d91c8e7b6b309873effc3406f1a45ff84dc MediaWiki:Vector.less/vectorsearch.less 8 34 45 2024-03-22T02:45:26Z Jayden 3 base cp from rsw less less // search bar .vector-search-box-inner { background: var(--search-box); height: 2.5em; // 40px margin-top: 0; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } // search text .vector-search-box-input { color: var(--text-color); height: 100%; border: none; background: none; padding-left: .75em; &::placeholder { color: var(--text-color); opacity: 0.67; // same as icon } .vector-search-box-inner:hover &, &:focus, .vector-search-box-inner:hover &:focus { border: none; box-shadow: none; } } :root { // use --text-color (#000) --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='13'%3E%3Cg fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M11.29 11.71l-4-4'/%3E%3Ccircle cx='5' cy='5' r='4'/%3E%3C/g%3E%3C/svg%3E"); } // magnifying glass .searchButton[name='go'] { background: no-repeat center var(--searchbutton-icon); // opacity: 0.67; this is inherited from default css } .vector-search-box { margin: 0; form { margin-top: 0; } } // search suggestions dropdown .suggestions { // class for each entry &-results { background-color: var(--body-light); border-color: var(--body-border); } // class for text inside entries &-result { color: var(--text-color); } a.mw-searchSuggest-link, a.mw-searchSuggest-link:hover, a.mw-searchSuggest-link:active, a.mw-searchSuggest-link:focus { color: var(--text-color); } &-special { background-color: var(--body-light); border-color: var(--body-border); // "Search for pages containing" & .special-label { color: var(--byline-color); } & .special-query { color: var(--text-color); } } // hover over entry &-result-current { background-color: var(--body-mid); color: var(--text-color); & .special-label, & .special-query { color: var(--text-color); } } } cd806ad8f6b8f7cd8d5c36b61971bb124f7d255d MediaWiki:Vector.less/vectorsidebar.less 8 35 46 2024-03-22T02:45:51Z Jayden 3 base cp from rsw less less // sidebar #mw-panel { padding-top: 2.5em; } // sidebar links .vector-menu-portal { .vector-menu-heading { color: var(--background-text-color); font-weight: bold; background: none; } .vector-menu-content li { a, a:visited { color: var(--background-link-color); } } } // logo #p-logo { filter: drop-shadow(0 2px 5px rgba(0,0,0,.25)); margin: -1.5em 0 0; } /* [[Forum:Add a better Discord link to the sidebar]] */ #n-Discord a { color: @white !important; // font-size: 12px; // default sidebar font size font-weight: bold; border-radius: @border-radius * 2; border: 1px solid @discord-bg-darker; background-color: @discord-bg; display: block; position: relative; padding: 4px 4px 5px calc(17px + 6.5px * 2); // width of icon + padding on either side box-shadow: 0 2px 3px rgba(0, 0, 0, .1); transition: .2s; // `ease` is the default timing-function &::before { content: 'Chat on '; font-weight: normal; opacity: .85; } &::after { content: ''; background: url('filepath://Discord_logo_icon.svg') no-repeat; background-size: 17px 13px; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .1)); position: absolute; top: 5px; left: 7px; width: 17px; height: 13px; } &:hover { text-decoration: none; background-color: @discord-bg-dark; } } .wgl-theme-dark #n-Discord a { background-color: @discord-bg-dark; &:hover { background-color: @discord-bg-darker; } } 8623bc387e9ab56e04c53477ac4d9935337502fd MediaWiki:Vector.less/vectortabs.less 8 36 47 2024-03-22T02:46:58Z Jayden 3 base cp from rsw less less :root { // for more granular control for dark mode --vector-tab-background: var(--body-background-color); --vector-tab-background--hover: var(--body-mid); --vector-tab-link-color: var(--background-link-color); // uses --background-link-color (#52351e) --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%2352351e' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); } .vector-menu-tabs-legacy { // Part of the css required to fix external link heights regardless of font size //.vector-menu-content { // height: 100%; still needed? //} // pixel padding for border padding: 0; // redlink in tab .new { a, a:visited { color: var(--redlink-color); } } // selected tab .selected { background: var(--body-main); a, a:visited { color: var(--text-color); } } // padding for tabs li a { color: var(--vector-tab-link-color); padding: 0 .75em; padding-top: 1em; &:visited { color: var(--vector-tab-link-color); } } // background for tabs ul { li { background: var(--vector-tab-background); } a:hover { text-decoration: none; } } } // hide "Read" tab #ca-view { display: none !important; // for beating the inline style in lower widths } // Tabs hover .vector-menu-tabs ul li:not(.selected):hover, // "More options" dropdown #p-cactions:hover #p-cactions-label { background: var(--vector-tab-background--hover); } // inner shadow for tabs .vector-menu-tabs ul li:not(.selected), #mw-head .vector-menu-dropdown .vector-menu-heading { box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } // remove image borders between all tabs .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } // remove remaining blue border in VisualEditor .ve-activated .vector-menu-tabs .selected { box-shadow: none; } // Watch icon .vector-menu-tabs { #ca-watch.icon a { &:before, &:hover:before, &:focus:before { background-image: var(--watch-icon); } } #ca-unwatch.icon a { &:before, &:hover:before, &:focus:before { background-image: var(--unwatch-icon); } } } b625eda78a1b2e070c5ce5936e607b2fa702e35f MediaWiki:Vector.less/thumb.less 8 37 49 2024-03-22T02:47:29Z Jayden 3 base cp from rsw less less /* ------------------------- image thumbnails ------------------------- */ div.thumbinner { border: none; background-color: var(--thumb-bg); padding: 0; } .thumbimage { background-color: transparent; border-color: transparent; border-bottom: none; } .thumbcaption { background: var(--thumb-caption-bg); padding: 4px 6px; } fb0a0c7396e4225e0abc0dc5a239236976334876 MediaWiki:Vector.less/toc.less 8 38 50 2024-03-22T02:47:44Z Jayden 3 base cp from rsw less less /* ======================== [[Template:ToC]] ======================== */ :root { --toc-bg: @BODY_LIGHT; --toc-title-bg: @infobox-header-color; --toc-border-color: @infobox-border-color; --toc-list-border-color: @infobox-border-color; } .toc { font-size: .9em; background: var(--toc-bg); margin-top: 1em; padding: 0; border-color: var(--toc-border-color); box-shadow: @box-shadow; clear: left; .toctitle { background: var(--toc-title-bg); padding: .25em 1em; h2 { font-family: inherit; } } // entire group of headings > ul { line-height: 1.8em; padding: .75em 1.75em; margin: 0; } // subheadings only ul ul { border-left: 1px dotted var(--toc-list-border-color); padding-left: .5em; } } // are these actually useful? .tocnumber { display: none; } // [hide]/[show] button .toctogglespan { // small spacing padding-left: .2em; // match navbox's button font-size: 0.9em; } // change the actual label to link-color .toctogglelabel { color: var(--link-color); } .toclimit-2 #toc .toclevel-2, .toclimit-3 #toc .toclevel-3, .toclimit-4 #toc .toclevel-4, .toclimit-5 #toc .toclevel-5, .toclimit-6 #toc .toclevel-6, .toclimit-7 #toc .toclevel-7 { display: none; } bf876497784672759b6f97c5135b7b2809598cc5 MediaWiki:Vector.less/interface.less 8 39 51 2024-03-22T02:48:00Z Jayden 3 base cp from rsw less less /* == miscellaneous vector elements == */ :root { --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23936039' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } // external links icon .mw-parser-output a.external { // using vector-2022 new icon background-image: var(--external-icon); // 12px / <paragraph font size>px; in our wikis' case 0.833 background-size: 0.833em; // remove like below when on mw1.40 // padding-right: 1em; } // [edit] section .mw-editsection { font-family: @sans-serif-stack; // brackets between editor link(s) .client-js .mw-content-ltr &-bracket:first-of-type, .client-js .mw-content-ltr &-bracket:not(:first-of-type), // divider line between source and vis editor links &-divider { color: var(--text-color); } } // "(Redirected from X)" #contentSub, #contentSub2 { color: var(--byline-color); margin: 0; // reset margin; re-added below } // re-add margin when not empty, as to not push content down ever so slightly #contentSub:not(:empty), #contentSub2:not(:empty) { margin: 0 0 1.4em 0; } // Technically not vector-specific, but also not available on our only other skin: minerva // collapsible tables .mw-collapsible { &.mw-collapsed { min-width: 250px; } // Fix toggle style being different before JS takes over. &:not( .mw-made-collapsible) th::before, .mw-collapsible-toggle { font-weight: normal; margin-left: 0.2em; } } e5564334c44dfa195a90c4d222e2b17dd54ff711 MediaWiki:Vector.less/sourceeditor.less 8 40 52 2024-03-22T02:48:22Z Jayden 3 base cp from rsw less less /* ============================= Source editor ============================== */ // repurposed from [[MediaWiki:Vector-darkmode.less/sourceeditor.less]] // Add border to top and middle boxes .wikiEditor-ui { .wikiEditor-ui-view, .wikiEditor-ui-top { border-color: var(--sourceeditor-border); } } // Toolbar: Very first bar at the top .wikiEditor-ui-toolbar { background-color: var(--sourceeditor-background); /* comment out until we figure out a decent ooui // What are these elements?? .oo-ui-popupToolGroup-handle:hover, .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: @dark-wikitable-background-lighter; } // When clicking the crayon, new menu, customize .oo-ui-toolGroup-tools.oo-ui-clippableElement-clippable { border-color: @dark-wikitable-border; background-color: @dark-wikitable-background; // Main element .oo-ui-tool-name-editModeVisual { background-color: @dark-wikitable-background; &:hover { background-color: @dark-wikitable-background-lighter; } } // Source button .oo-ui-tool-name-editModeSource { background-color: @dark-wikitable-background-lighter; .oo-ui-tool-title { color: @dark-links-lighter; } } } */ .tabs { // Some links were hard-coded span.tab > a, span.tab > a:visited { color: var(--link-color); } // Hardcoded text colour span.tab a { &.current, &.current:visited { color: var(--text-colour); } } } /* Button colors */ // Border between the buttons .group { border-color: var(--sourceeditor-border); // "Heading" dropdown menu in advanced toolbar .tool-select { background-color: var(--sourceeditor-background); border-color: var(--sourceeditor-border); .options { border-color: var(--sourceeditor-border); background-color: var(--body-main); .option { color: var(--link-color); } } .menu .options .option:hover { background-color: var(--ooui-normal--hover); } } } .group-search { border-left-color: var(--body-mid); } .page-table { td { border-color: var(--body-mid); color: var(--text-color); } th { color: var(--text-color); } } /* Normal editor button colors */ // Advanced tab .sections { // border above the box .section { border-color: var(--body-mid); } // Specifically the advanced tab .toolbar { // "Format" and "Insert" labels .group > .label { color: var(--text-color); } // "Heading" label text .tool > .label { color: var(--text-color); } } } // Special characters and help tabs .booklet { // Hovered item in list > .index > :hover { background-color: var(--body-mid); color: var(--text-color); } .index > .current { background-color: var(--body-mid); color: var(--link-color); } } // Text inside the button/characters .page-characters div span { border-color: var(--body-mid); color: var(--text-color); // On hover of those characters &:hover { border-color: var(--body-dark); background-color: transparent; } } } // changing arrow on tabs and "Heading" to use masking .wikiEditor-ui-toolbar .tabs span.tab a:before, .wikiEditor-ui-toolbar .group .tool-select .label:after { background: var(--text-color); -webkit-mask: var(--arrow-down) center no-repeat; // chrome support mask: var(--arrow-down) center no-repeat; } /* -------------------------- ACE EDITOR -------------------------- */ // highlighter .ace-tm { background-color: var(--sourceeditor-input-background); color: var(--text-color); // Numbers .ace_gutter { background: var(--body-mid); color: var(--text-color); &-cell { color: var(--text-color); } } .ace_gutter-active-line { background-color: var(--body-light); } } // Search & Replace .ace_search { background-color: var(--body-light); color: var(--text-color); border-color: var(--body-mid); } // input .ace_search_field { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } // buttons beside input .ace_searchbtn { border-color: var(--ooui-normal-border); background-color: var(--ooui-normal); color: var(--ooui-text); &:last-child { border-color: var(--ooui-normal-border); } &:hover { background-color: var(--ooui-normal--hover); } // < > arrows &.prev:after, &.next:after { border-color: var(--ooui-text); } } // search buttons .ace_button { color: var(--text-color); &:hover { // same as sourceeditor toolbar background-color: rgba(0, 23, 70, 0.086); } &:active { background-color: rgba(0, 23, 70, 0.06); } &.checked { border-color: var(--ooui-accent) } } /* --------------------------- CodeMirror adjustments --------------------------- */ // same as no syntaxhighlight .CodeMirror { background: var(--sourceeditor-input-background); // text color pre { color: var(--text-color); } } // Status bar under text box in the middle .codeEditor-status { border-color: var(--sourceeditor-border); background-color: var(--sourceeditor-background); } .codeEditor-status-message { border-color: var(--sourceeditor-border); } .CodeMirror-gutters { background-color: var(--codemirror-gutter-background); border-color: var(--sourceeditor-border); } .CodeMirror-linenumber { color: var(--text-color); } // VE source editor .ve-init-mw-desktopArticleTarget .CodeMirror-linenumber { color: var(--byline-color); } /* =========================== source editor without CodeMirror turned on =========================== */ .mw-editform #wpTextbox1 { color: var(--text-color); background: var(--sourceeditor-input-background); border-color: var(--sourceeditor-border); } 1499cb54019b1ec7b9e130476376d4eb635209d6 MediaWiki:Vector.less/editor.less 8 41 53 2024-03-22T02:48:52Z Jayden 3 base cp from rsw less less /* Change the look of the editor */ // Make code-editors 100px (~11 lines of code) taller than the default 400px (~19.9 lines) input[name="model"] { &[value="Scribunto"], &[value="css"], &[value="less"], &[value="javascript"], &[value="json"] { & ~ .wikiEditor-ui #wpTextbox1 { height: 600px; } } } // TemplateData dialog template description textarea .tdg-templateDataDialog-listParamsPanel textarea.oo-ui-textInputWidget-autosized { resize: vertical; } // Abusefilter editor #wpAceFilterEditor { resize: horizontal; } // hide userspace upload warning by default, and hide generic 'own work' label on userspace .warn-userupload, .ns-2 .upload-own-work { display: none; } // in userspace, replace 'own work' label with userspace upload warning .ns-2 .warn-userupload { display: inline; } // Batch Upload boxes textarea[name="wfUploadDescription"] { height: 3em; } // space between edit box and mediawiki warnings #editform { margin-top: 1.25em; } /* =========================== Lua debug console =========================== */ // Give Lua console styling consistent with the editor #mw-scribunto-input, #mw-scribunto-output { padding: 3px; // make caret appear even at the start of the line font-family: monospace; font-size: 13px; line-height: 1.5em; } #mw-scribunto-input { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } :root { --scribuntoconsole-input: @venice-blue; --scibuntoconsole-print: @olive; --scribuntoconsole-error: @old-brick; --scribuntoconsole-message: @la-palma; --scribuntoconsole-tabcomplete: @seance; --scribuntoconsole-clear: @old-brick; } .mw-scribunto { &-console-fieldset { color: inherit; background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } // remove white backgrounds &-normalOutput, &-print, &-error, &-propList, &-message, &-tabcomplete { background: none; } // console input and echoes &-input { color: var(--scribuntoconsole-input); } &-normalOutput { color: inherit; } &-print { color: var(--scibuntoconsole-print); } &-error { color: var(--scribuntoconsole-error); } &-propList, &-message { color: var(--scribuntoconsole-message); } &-tabcomplete { color: var(--scribuntoconsole-tabcomplete); } &-clear { color: var(--scribuntoconsole-clear); border-bottom-color: var(--scribuntoconsole-clear); } } 260d1c389eb6d25597cf7dc298a528982db56f62 MediaWiki:Vector.less/echo.less 8 42 54 2024-03-22T02:49:28Z Jayden 3 base cp from rsw less less // Echo (and skin switcher) icons :root { // all are using #4c4c4c fill aka @tundra --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%234c4c4c' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%234c4c4c' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --echo-icon-bell-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Ebell%3C/title%3E%3Cpath d=%22M16 7a5.38 5.38 0 00-4.46-4.85C11.6 1.46 11.53 0 10 0S8.4 1.46 8.46 2.15A5.38 5.38 0 004 7v6l-2 2v1h16v-1l-2-2zm-6 13a3 3 0 003-3H7a3 3 0 003 3z%22 fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-tray-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Etray%3C/title%3E%3Cpath d=%22M3 1a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V3a2 2 0 00-2-2zm14 12h-4l-1 2H8l-1-2H3V3h14z%22 fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-fullscreen-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E fullscreen %3C/title%3E%3Cg fill='%234c4c4c'%3E%3Cpath d='M1 1v6h2V3h4V1zm2 12H1v6h6v-2H3zm14 4h-4v2h6v-6h-2zm0-16h-4v2h4v4h2V1z'/%3E%3C/g%3E%3Cscript xmlns=''/%3E%3C/svg%3E"); --echo-icon-exitFullscreen-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E exit fullscreen %3C/title%3E%3Cg fill='%234c4c4c'%3E%3Cpath d='M7 7V1H5v4H1v2zM5 19h2v-6H1v2h4zm10-4h4v-2h-6v6h2zm0-8h4V5h-4V1h-2v6z'/%3E%3C/g%3E%3Cscript xmlns=''/%3E%3C/svg%3E"); } // User profile icon .vector-user-menu-legacy { #pt-userpage a, #pt-anonuserpage { background-image: var(--echo-icon-person-bg-image); padding-top: 0; background-position-y: 0; } #pt-anonuserpage { // anon "Not logged in" text color: var(--byline-color); } } // Echo boxes #pt-notifications-alert .mw-echo-notifications-badge, #pt-notifications-notice .mw-echo-notifications-badge { background-size: 75%; background-position: center 80%; background-repeat: no-repeat; // unset all opacity so all icons would consistently coloured opacity: unset; } #pt-notifications-alert .mw-echo-notifications-badge.mw-echo-notifications-badge-all-read, #pt-notifications-notice .mw-echo-notifications-badge.mw-echo-notifications-badge-all-read { opacity: unset; } // alerts #pt-notifications-alert .oo-ui-icon-bell { background-image: var(--echo-icon-bell-bg-image); } // notifs #pt-notifications-notice .oo-ui-icon-tray { background-image: var(--echo-icon-tray-bg-image); } // Skin switcher menu icon #pt-fixed-width .oo-ui-icon-advanced { background-image: var(--echo-icon-exitFullscreen-bg-image); } body.wgl-fixedWidth #pt-fixed-width .oo-ui-icon-advanced { background-image: var(--echo-icon-fullscreen-bg-image); } #pt-theme-toggles .oo-ui-icon-advanced { background-image: var(--echo-icon-moon-bg-image); } // Hack so that personal urls are at final vertical position when added to by JS. #pt-anontalk { padding-top: 0.6em; } afbf69108b6db006055ffb474b8bb5f5b489d80e MediaWiki:Vector.css 8 43 55 2024-03-22T02:49:33Z Jayden 3 Updating CSS from [[MediaWiki:Vector.less]] css text/css /* <pre> */ :root { --ul-list-style-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='13'%3E%3Ccircle cx='2.5' cy='9' r='2.5' fill='%23000'/%3E%3C/svg%3E"); } html { -webkit-text-size-adjust: 100%; } body { background: var(--body-background-image) var(--body-background-color) top left / 1500px 375px no-repeat; font-family: 'Helvetica Neue', 'Arial', sans-serif; } .vector-body { font-size: 0.9em; } #firstHeading { font-weight: bold; } pre, code, .mw-code { color: inherit; background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } dl { margin: 0; } ul { list-style-image: var(--ul-list-style-image); } hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } fieldset { border-color: var(--sidebar); } .vector-body blockquote { border-color: var(--body-mid); } :root { --personal-links-bg: var(--body-main); --arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M11.05 3.996l-.965-1.053-4.035 3.86-3.947-3.86L1.05 3.996l5 5 5-5' fill='%23444'/%3E%3C/svg%3E"); } .vector-menu-dropdown .vector-menu-heading { background-color: var(--vector-tab-background); padding: 1em 0.75em 0.6923em; margin: 0; } .vector-menu-dropdown .vector-menu-heading, .vector-menu-dropdown .vector-menu-heading:hover, .vector-menu-dropdown .vector-menu-heading:focus { color: var(--background-text-color); } .vector-menu-dropdown .vector-menu-heading:after { background-image: var(--arrow-down); opacity: 1; } .vector-menu-dropdown .vector-menu-content { border-color: transparent; background-color: var(--body-light); box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.1); left: 0; } .vector-menu-dropdown .mw-list-item a { color: var(--link-color); } .vector-menu-dropdown .mw-list-item.selected a, .vector-menu-dropdown .mw-list-item.selected a:visited { color: var(--text-color); } #p-personal { background: var(--personal-links-bg); top: 0; right: 0; border-radius: 0 0 0 4px; height: 1.875em; } #p-personal ul { padding: 0 1em 0 0.4375em; } .vector-search-box-inner { background: var(--search-box); height: 2.5em; margin-top: 0; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } .vector-search-box-input { color: var(--text-color); height: 100%; border: none; background: none; padding-left: 0.75em; } .vector-search-box-input::placeholder { color: var(--text-color); opacity: 0.67; } .vector-search-box-inner:hover .vector-search-box-input, .vector-search-box-input:focus, .vector-search-box-inner:hover .vector-search-box-input:focus { border: none; box-shadow: none; } :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='13'%3E%3Cg fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M11.29 11.71l-4-4'/%3E%3Ccircle cx='5' cy='5' r='4'/%3E%3C/g%3E%3C/svg%3E"); } .searchButton[name='go'] { background: no-repeat center var(--searchbutton-icon); } .vector-search-box { margin: 0; } .vector-search-box form { margin-top: 0; } .suggestions-results { background-color: var(--body-light); border-color: var(--body-border); } .suggestions-result { color: var(--text-color); } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--text-color); } .suggestions-special { background-color: var(--body-light); border-color: var(--body-border); } .suggestions-special .special-label { color: var(--byline-color); } .suggestions-special .special-query { color: var(--text-color); } .suggestions-result-current { background-color: var(--body-mid); color: var(--text-color); } .suggestions-result-current .special-label, .suggestions-result-current .special-query { color: var(--text-color); } #mw-panel { padding-top: 2.5em; } .vector-menu-portal .vector-menu-heading { color: var(--background-text-color); font-weight: bold; background: none; } .vector-menu-portal .vector-menu-content li a, .vector-menu-portal .vector-menu-content li a:visited { color: var(--background-link-color); } #p-logo { filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.25)); margin: -1.5em 0 0; } #n-Discord a { color: #fff !important; font-weight: bold; border-radius: 4px; border: 1px solid #4c57d0; background-color: #5865f2; display: block; position: relative; padding: 4px 4px 5px calc(17px + 6.5px * 2); box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); transition: 0.2s; } #n-Discord a::before { content: 'Chat on '; font-weight: normal; opacity: 0.85; } #n-Discord a::after { content: ''; background: url('filepath://Discord_logo_icon.svg') no-repeat; background-size: 17px 13px; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1)); position: absolute; top: 5px; left: 7px; width: 17px; height: 13px; } #n-Discord a:hover { text-decoration: none; background-color: #525ee0; } .wgl-theme-dark #n-Discord a { background-color: #525ee0; } .wgl-theme-dark #n-Discord a:hover { background-color: #4c57d0; } :root { --vector-tab-background: var(--body-background-color); --vector-tab-background--hover: var(--body-mid); --vector-tab-link-color: var(--background-link-color); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%2352351e' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); } .vector-menu-tabs-legacy { padding: 0; } .vector-menu-tabs-legacy .new a, .vector-menu-tabs-legacy .new a:visited { color: var(--redlink-color); } .vector-menu-tabs-legacy .selected { background: var(--body-main); } .vector-menu-tabs-legacy .selected a, .vector-menu-tabs-legacy .selected a:visited { color: var(--text-color); } .vector-menu-tabs-legacy li a { color: var(--vector-tab-link-color); padding: 0 0.75em; padding-top: 1em; } .vector-menu-tabs-legacy li a:visited { color: var(--vector-tab-link-color); } .vector-menu-tabs-legacy ul li { background: var(--vector-tab-background); } .vector-menu-tabs-legacy ul a:hover { text-decoration: none; } #ca-view { display: none !important; } .vector-menu-tabs ul li:not(.selected):hover, #p-cactions:hover #p-cactions-label { background: var(--vector-tab-background--hover); } .vector-menu-tabs ul li:not(.selected), #mw-head .vector-menu-dropdown .vector-menu-heading { box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } .ve-activated .vector-menu-tabs .selected { box-shadow: none; } .vector-menu-tabs #ca-watch.icon a:before, .vector-menu-tabs #ca-watch.icon a:hover:before, .vector-menu-tabs #ca-watch.icon a:focus:before { background-image: var(--watch-icon); } .vector-menu-tabs #ca-unwatch.icon a:before, .vector-menu-tabs #ca-unwatch.icon a:hover:before, .vector-menu-tabs #ca-unwatch.icon a:focus:before { background-image: var(--unwatch-icon); } div.thumbinner { border: none; background-color: var(--thumb-bg); padding: 0; } .thumbimage { background-color: transparent; border-color: transparent; border-bottom: none; } .thumbcaption { background: var(--thumb-caption-bg); padding: 4px 6px; } :root { --toc-bg: var(--body-light); --toc-title-bg: var(--body-dark); --toc-border-color: var(--body-border); --toc-list-border-color: var(--body-border); } .toc { font-size: 0.9em; background: var(--toc-bg); margin-top: 1em; padding: 0; border-color: var(--toc-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); clear: left; } .toc .toctitle { background: var(--toc-title-bg); padding: 0.25em 1em; } .toc .toctitle h2 { font-family: inherit; } .toc > ul { line-height: 1.8em; padding: 0.75em 1.75em; margin: 0; } .toc ul ul { border-left: 1px dotted var(--toc-list-border-color); padding-left: 0.5em; } .tocnumber { display: none; } .toctogglespan { padding-left: 0.2em; font-size: 0.9em; } .toctogglelabel { color: var(--link-color); } .toclimit-2 #toc .toclevel-2, .toclimit-3 #toc .toclevel-3, .toclimit-4 #toc .toclevel-4, .toclimit-5 #toc .toclevel-5, .toclimit-6 #toc .toclevel-6, .toclimit-7 #toc .toclevel-7 { display: none; } :root { --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23936039' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } .mw-parser-output a.external { background-image: var(--external-icon); background-size: 0.833em; } .mw-editsection { font-family: 'Helvetica Neue', 'Arial', sans-serif; } .client-js .mw-content-ltr .mw-editsection-bracket:first-of-type, .client-js .mw-content-ltr .mw-editsection-bracket:not(:first-of-type), .mw-editsection-divider { color: var(--text-color); } #contentSub, #contentSub2 { color: var(--byline-color); margin: 0; } #contentSub:not(:empty), #contentSub2:not(:empty) { margin: 0 0 1.4em 0; } .mw-collapsible.mw-collapsed { min-width: 250px; } .mw-collapsible:not( .mw-made-collapsible) th::before, .mw-collapsible .mw-collapsible-toggle { font-weight: normal; margin-left: 0.2em; } .wikiEditor-ui .wikiEditor-ui-view, .wikiEditor-ui .wikiEditor-ui-top { border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar { background-color: var(--sourceeditor-background); } .wikiEditor-ui-toolbar .tabs span.tab > a, .wikiEditor-ui-toolbar .tabs span.tab > a:visited { color: var(--link-color); } .wikiEditor-ui-toolbar .tabs span.tab a.current, .wikiEditor-ui-toolbar .tabs span.tab a.current:visited { color: var(--text-colour); } .wikiEditor-ui-toolbar .group { border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar .group .tool-select { background-color: var(--sourceeditor-background); border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar .group .tool-select .options { border-color: var(--sourceeditor-border); background-color: var(--body-main); } .wikiEditor-ui-toolbar .group .tool-select .options .option { color: var(--link-color); } .wikiEditor-ui-toolbar .group .tool-select .menu .options .option:hover { background-color: var(--ooui-normal--hover); } .wikiEditor-ui-toolbar .group-search { border-left-color: var(--body-mid); } .wikiEditor-ui-toolbar .page-table td { border-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .page-table th { color: var(--text-color); } .wikiEditor-ui-toolbar .sections .section { border-color: var(--body-mid); } .wikiEditor-ui-toolbar .sections .toolbar .group > .label { color: var(--text-color); } .wikiEditor-ui-toolbar .sections .toolbar .tool > .label { color: var(--text-color); } .wikiEditor-ui-toolbar .booklet > .index > :hover { background-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .booklet .index > .current { background-color: var(--body-mid); color: var(--link-color); } .wikiEditor-ui-toolbar .page-characters div span { border-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .page-characters div span:hover { border-color: var(--body-dark); background-color: transparent; } .wikiEditor-ui-toolbar .tabs span.tab a:before, .wikiEditor-ui-toolbar .group .tool-select .label:after { background: var(--text-color); -webkit-mask: var(--arrow-down) center no-repeat; mask: var(--arrow-down) center no-repeat; } .ace-tm { background-color: var(--sourceeditor-input-background); color: var(--text-color); } .ace-tm .ace_gutter { background: var(--body-mid); color: var(--text-color); } .ace-tm .ace_gutter-cell { color: var(--text-color); } .ace-tm .ace_gutter-active-line { background-color: var(--body-light); } .ace_search { background-color: var(--body-light); color: var(--text-color); border-color: var(--body-mid); } .ace_search_field { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .ace_searchbtn { border-color: var(--ooui-normal-border); background-color: var(--ooui-normal); color: var(--ooui-text); } .ace_searchbtn:last-child { border-color: var(--ooui-normal-border); } .ace_searchbtn:hover { background-color: var(--ooui-normal--hover); } .ace_searchbtn.prev:after, .ace_searchbtn.next:after { border-color: var(--ooui-text); } .ace_button { color: var(--text-color); } .ace_button:hover { background-color: rgba(0, 23, 70, 0.086); } .ace_button:active { background-color: rgba(0, 23, 70, 0.06); } .ace_button.checked { border-color: var(--ooui-accent); } .CodeMirror { background: var(--sourceeditor-input-background); } .CodeMirror pre { color: var(--text-color); } .codeEditor-status { border-color: var(--sourceeditor-border); background-color: var(--sourceeditor-background); } .codeEditor-status-message { border-color: var(--sourceeditor-border); } .CodeMirror-gutters { background-color: var(--codemirror-gutter-background); border-color: var(--sourceeditor-border); } .CodeMirror-linenumber { color: var(--text-color); } .ve-init-mw-desktopArticleTarget .CodeMirror-linenumber { color: var(--byline-color); } .mw-editform #wpTextbox1 { color: var(--text-color); background: var(--sourceeditor-input-background); border-color: var(--sourceeditor-border); } input[name="model"][value="Scribunto"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="css"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="less"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="javascript"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="json"] ~ .wikiEditor-ui #wpTextbox1 { height: 600px; } .tdg-templateDataDialog-listParamsPanel textarea.oo-ui-textInputWidget-autosized { resize: vertical; } #wpAceFilterEditor { resize: horizontal; } .warn-userupload, .ns-2 .upload-own-work { display: none; } .ns-2 .warn-userupload { display: inline; } textarea[name="wfUploadDescription"] { height: 3em; } #editform { margin-top: 1.25em; } #mw-scribunto-input, #mw-scribunto-output { padding: 3px; font-family: monospace; font-size: 13px; line-height: 1.5em; } #mw-scribunto-input { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } :root { --scribuntoconsole-input: #0b5884; --scibuntoconsole-print: #a48900; --scribuntoconsole-error: #9f261e; --scribuntoconsole-message: #3c780a; --scribuntoconsole-tabcomplete: #4f348b; --scribuntoconsole-clear: #9f261e; } .mw-scribunto-console-fieldset { color: inherit; background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-scribunto-normalOutput, .mw-scribunto-print, .mw-scribunto-error, .mw-scribunto-propList, .mw-scribunto-message, .mw-scribunto-tabcomplete { background: none; } .mw-scribunto-input { color: var(--scribuntoconsole-input); } .mw-scribunto-normalOutput { color: inherit; } .mw-scribunto-print { color: var(--scibuntoconsole-print); } .mw-scribunto-error { color: var(--scribuntoconsole-error); } .mw-scribunto-propList, .mw-scribunto-message { color: var(--scribuntoconsole-message); } .mw-scribunto-tabcomplete { color: var(--scribuntoconsole-tabcomplete); } .mw-scribunto-clear { color: var(--scribuntoconsole-clear); border-bottom-color: var(--scribuntoconsole-clear); } :root { --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%234c4c4c' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%234c4c4c' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --echo-icon-bell-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Ebell%3C/title%3E%3Cpath d=%22M16 7a5.38 5.38 0 00-4.46-4.85C11.6 1.46 11.53 0 10 0S8.4 1.46 8.46 2.15A5.38 5.38 0 004 7v6l-2 2v1h16v-1l-2-2zm-6 13a3 3 0 003-3H7a3 3 0 003 3z%22 fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-tray-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Etray%3C/title%3E%3Cpath d=%22M3 1a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V3a2 2 0 00-2-2zm14 12h-4l-1 2H8l-1-2H3V3h14z%22 fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-fullscreen-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E fullscreen %3C/title%3E%3Cg fill='%234c4c4c'%3E%3Cpath d='M1 1v6h2V3h4V1zm2 12H1v6h6v-2H3zm14 4h-4v2h6v-6h-2zm0-16h-4v2h4v4h2V1z'/%3E%3C/g%3E%3Cscript xmlns=''/%3E%3C/svg%3E"); --echo-icon-exitFullscreen-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E exit fullscreen %3C/title%3E%3Cg fill='%234c4c4c'%3E%3Cpath d='M7 7V1H5v4H1v2zM5 19h2v-6H1v2h4zm10-4h4v-2h-6v6h2zm0-8h4V5h-4V1h-2v6z'/%3E%3C/g%3E%3Cscript xmlns=''/%3E%3C/svg%3E"); } .vector-user-menu-legacy #pt-userpage a, .vector-user-menu-legacy #pt-anonuserpage { background-image: var(--echo-icon-person-bg-image); padding-top: 0; background-position-y: 0; } .vector-user-menu-legacy #pt-anonuserpage { color: var(--byline-color); } #pt-notifications-alert .mw-echo-notifications-badge, #pt-notifications-notice .mw-echo-notifications-badge { background-size: 75%; background-position: center 80%; background-repeat: no-repeat; opacity: unset; } #pt-notifications-alert .mw-echo-notifications-badge.mw-echo-notifications-badge-all-read, #pt-notifications-notice .mw-echo-notifications-badge.mw-echo-notifications-badge-all-read { opacity: unset; } #pt-notifications-alert .oo-ui-icon-bell { background-image: var(--echo-icon-bell-bg-image); } #pt-notifications-notice .oo-ui-icon-tray { background-image: var(--echo-icon-tray-bg-image); } #pt-fixed-width .oo-ui-icon-advanced { background-image: var(--echo-icon-exitFullscreen-bg-image); } body.wgl-fixedWidth #pt-fixed-width .oo-ui-icon-advanced { background-image: var(--echo-icon-fullscreen-bg-image); } #pt-theme-toggles .oo-ui-icon-advanced { background-image: var(--echo-icon-moon-bg-image); } #pt-anontalk { padding-top: 0.6em; } .tabber { display: inline-grid; } 6eab2ce81af87c406deec175cedc5e8b0a28af4f MediaWiki:Common.less 8 5 56 12 2024-03-22T02:50:50Z Jayden 3 update body-background-color less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #513e36; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #444; --background-link-color: #52351e; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: @black; --byline-color: @tundora; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> // Page specific @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } e7be5fd62842db72ba21fc593b776833abf0f279 58 56 2024-03-22T02:53:41Z Jayden 3 change some background vars less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #513e36; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: @black; --byline-color: @tundora; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> // Page specific @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 2d4ea7c1832fd98d7786cc47800b4098a23e6da9 61 58 2024-03-22T03:01:12Z Jayden 3 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #513e36; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: @black; --byline-color: @tundora; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> // Page specific @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 9d73f797bd1dd3bfbbaa853bd1a1cd2939279ce6 79 61 2024-03-22T03:17:29Z Jayden 3 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #513e36; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: @black; --byline-color: @tundora; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 85cbc02b921ff40958ebb0849587409d370c0f3b 100 79 2024-03-22T04:11:42Z Jayden 3 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #feffff; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #513e36; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: @black; --byline-color: @tundora; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 3c4ba158e5ea13f763f487a87b4313eb7d065e70 101 100 2024-03-22T04:12:53Z Jayden 3 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #feffff; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: @black; --byline-color: @tundora; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 7cc218c28d59ebdb20c50cb1e0cbbfbcdb1927e6 MediaWiki:Common.css 8 30 57 40 2024-03-22T02:50:53Z Jayden 3 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #513e36; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #444; --background-link-color: #52351e; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } ffcb7f4a937f0aee149235844d9bce36ef7168cb 59 57 2024-03-22T02:53:45Z Jayden 3 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #513e36; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } bbca7d870fcfc2ba29e4cb215de948269dc76b01 62 59 2024-03-22T03:01:16Z Jayden 3 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #513e36; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.75em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.75em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 027c798280ff7f849cdc8d074b6e1551ee51ba52 80 62 2024-03-22T03:17:33Z Jayden 3 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #513e36; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.75em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.75em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 75aa4211a6bcabafa5436d0d5788908d3f9edf54 82 80 2024-03-22T03:18:35Z Jayden 3 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #513e36; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents .tile-halves { flex: 1; margin-right: 0.9rem; } .mainpage-contents .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-contents .tile-halves:last-child { margin-right: 0; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top h2 a { display: block; text-align: center; text-decoration: none; line-height: 4.5rem; padding-left: 0.45rem; } .mainpage-contents h2 { margin: 0; padding: 0; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.75em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.75em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } e5fd87a2881686310d850fa12d603f9e4d03bc40 84 82 2024-03-22T03:19:34Z Jayden 3 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #513e36; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.75em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.75em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 75aa4211a6bcabafa5436d0d5788908d3f9edf54 87 84 2024-03-22T03:25:49Z Jayden 3 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #513e36; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.75em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.75em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 54bb9cce5a825deff519749f435b1b077d5fc736 90 87 2024-03-22T03:33:08Z Jayden 3 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #e2dbc8; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #513e36; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.75em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.75em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 2178752996ff649b32c0a066097b41478f803d90 102 90 2024-03-22T04:12:58Z Jayden 3 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #d8ccb4; --body-mid: #d0bd97; --body-dark: #b8a282; --body-border: #94866d; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.75em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.75em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } acc404b7b644cb41fbe2d96af331070a64f6ea2f MediaWiki:Common.less/mainpage.less 8 44 60 2024-03-22T03:00:57Z Jayden 3 base cp from rsw less less /* =================== MAIN PAGE =================== */ /* =================== variables =================== */ @mp-text-light: fade( @white, 90% ); @mp-gutter-width: .9rem; /* ========================== page-specific styles ========================== */ body.page-Main_Page { // limit max width for readability // don't use #mw-content-text because it includes the editform .mw-parser-output { max-width: 75em; margin: 0 auto; } // not when editing &.action-view { .catlinks, #contentSub, // hide pagetitle in favor of .mainpage-header // Note: as of mw1.38, this is not needed anymore // blanking both [[MediaWiki:Mainpage-title-loggedin]] & // [[MediaWiki:Mainpage-title]] applies an inline `display: none;` // #firstHeading, // anything listed in the sitenotice should already be on the main page #siteNotice { display: none; } } } /* ==================== general styles ==================== */ .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; .header-intro { flex: 2; h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 .15em; } p { font-size: 1.1em; line-height: 1.7em; } } .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } } // main sections .mainpage-body { display: grid; grid-template-areas: "event event event" // for tbzr tile "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); h2 a { color: var(--text-color); } .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .tile-row { width: 100%; margin-bottom: 0; } } .mainpage-body .tile-row { display: grid; gap: 0.9rem } // left column .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } // right column .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } /* ==================== components ==================== */ .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: .7rem; width: .45rem; vertical-align: middle; &.dark { filter: invert(80%); } } /* ============================= section-specific styles ============================= */ /* -------------------- wiki contents -------------------- */ @mp-contents-height: 4.5rem; .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); .tile-halves { flex: 1; } .tile-top { position: relative; // needed for ribbon } h2 { margin: 0; padding: 0; } .tile-bottom.link-button a { padding: 0.75em 0.2em; // prevent grid gap misalignment } } /* -------------------- popular pages -------------------- */ .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: .6em; margin: 1em 0 .7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; a { flex: 1; display: block; color: @white; font-weight: bold; text-align: center; text-decoration: none; padding: .7em 1em; } &:hover { filter: brightness(115%); transition: 100ms; } } /* -------------------- discord server -------------------- */ .mainpage-discord { border: none; box-shadow: @box-shadow-dark; .tile-top { display: flex; align-items: center; background: @discord-bg; padding: 1em 1.75em; a { flex: 1; position: relative; // allow link to cover icon text-decoration: none; &:hover .arrow { transform: translateX(50%); } } } .tile-bottom { background: @discord-bg-dark; border: none; padding: 1em 1.75em; p { color: @white; font-weight: bold; font-size: .9em; text-align: center; text-transform: uppercase; letter-spacing: .03em; margin: 0; } } .partner-icon { margin-right: .75em; } .server-name { color: @white; font-weight: bold; font-size: 1.25em; margin: .5em 0 -0.15em; } .server-tagline { color: @mp-text-light; margin-bottom: .5em; } .arrow { position: absolute; top: ~"calc(50% - .5em)"; // center arrow on its point right: 0; height: 1em; width: .7em; background-size: .7em 1em; transition: .3s ease-out; } } /* -------------------- edit the wiki -------------------- */ .mainpage-editing { border: none; box-shadow: @box-shadow-dark; .tile-top { background: @steel-blue; } .tile-bottom { background: saturate( darken( @steel-blue, 4% ), 4% ); border: none; padding: .8rem 1.5rem .4rem; } h2, a { color: @white; } p { color: @mp-text-light; } ul { list-style-image: url('filepath://Transparent-chevron.svg'); } } /* ========================== media queries ========================== */ @media only screen and (max-width: @width-breakpoint-desktop-wide) { // switch to two rows of three tiles .mainpage-contents { grid-template-columns: repeat(3, 1fr) } } @media only screen and (max-width: @width-breakpoint-desktop) { // mainpage-left and -right on one column now .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); .tile-halves { // hide third recent update &:last-child { display: none; } // zoom on hover &:hover .tile-top img { transform: scale(1.04); } } .tile-top { height: 18vw; min-height: 9em; } } // hide other things .mainpage-header .header-stats { display: none; } // kill margin as it duplicates grid's gap .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: @width-breakpoint-tablet) { .mainpage-recent-updates { // resulting in single column grid-template-columns: none; // revert display:none .tile-halves:last-child { display: flex; } } // switch to three rows of two tiles .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } b3c47db531eb4cf31cbe526e5f5d6ab2258574ad 81 60 2024-03-22T03:18:31Z Jayden 3 less less /* =================== MAIN PAGE =================== */ /* =================== variables =================== */ @mp-text-light: fade( @white, 90% ); @mp-gutter-width: .9rem; /* ========================== page-specific styles ========================== */ body.page-Main_Page { // limit max width for readability // don't use #mw-content-text because it includes the editform .mw-parser-output { max-width: 75em; margin: 0 auto; } // not when editing &.action-view { .catlinks, #contentSub, // hide pagetitle in favor of .mainpage-header // Note: as of mw1.38, this is not needed anymore // blanking both [[MediaWiki:Mainpage-title-loggedin]] & // [[MediaWiki:Mainpage-title]] applies an inline `display: none;` // #firstHeading, // anything listed in the sitenotice should already be on the main page #siteNotice { display: none; } } } /* ==================== general styles ==================== */ .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; .header-intro { flex: 2; h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 .15em; } p { font-size: 1.1em; line-height: 1.7em; } } .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } } // main sections .mainpage-body { display: grid; grid-template-areas: "event event event" // for tbzr tile "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); h2 a { color: var(--text-color); } .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .tile-row { width: 100%; margin-bottom: 0; } } .mainpage-body .tile-row { display: grid; gap: 0.9rem } // left column .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } // right column .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } /* ==================== components ==================== */ .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: .7rem; width: .45rem; vertical-align: middle; &.dark { filter: invert(80%); } } /* ============================= section-specific styles ============================= */ /* -------------------- wiki contents -------------------- */ @mp-contents-height: 4.5rem; .mainpage-contents { .tile-halves { flex: 1; margin-right: @mp-gutter-width; // zoom on hover &:hover .tile-top img { transform: scale(1.04); } &:last-child { margin-right: 0; } } .tile-top { height: @mp-contents-height; position: relative; // needed for ribbon h2 a { display: block; text-align: center; text-decoration: none; line-height: @mp-contents-height; padding-left: .45rem; // to make up for arrow width } } h2 { margin: 0; padding: 0; } } /* -------------------- popular pages -------------------- */ .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: .6em; margin: 1em 0 .7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; a { flex: 1; display: block; color: @white; font-weight: bold; text-align: center; text-decoration: none; padding: .7em 1em; } &:hover { filter: brightness(115%); transition: 100ms; } } /* -------------------- discord server -------------------- */ .mainpage-discord { border: none; box-shadow: @box-shadow-dark; .tile-top { display: flex; align-items: center; background: @discord-bg; padding: 1em 1.75em; a { flex: 1; position: relative; // allow link to cover icon text-decoration: none; &:hover .arrow { transform: translateX(50%); } } } .tile-bottom { background: @discord-bg-dark; border: none; padding: 1em 1.75em; p { color: @white; font-weight: bold; font-size: .9em; text-align: center; text-transform: uppercase; letter-spacing: .03em; margin: 0; } } .partner-icon { margin-right: .75em; } .server-name { color: @white; font-weight: bold; font-size: 1.25em; margin: .5em 0 -0.15em; } .server-tagline { color: @mp-text-light; margin-bottom: .5em; } .arrow { position: absolute; top: ~"calc(50% - .5em)"; // center arrow on its point right: 0; height: 1em; width: .7em; background-size: .7em 1em; transition: .3s ease-out; } } /* -------------------- edit the wiki -------------------- */ .mainpage-editing { border: none; box-shadow: @box-shadow-dark; .tile-top { background: @steel-blue; } .tile-bottom { background: saturate( darken( @steel-blue, 4% ), 4% ); border: none; padding: .8rem 1.5rem .4rem; } h2, a { color: @white; } p { color: @mp-text-light; } ul { list-style-image: url('filepath://Transparent-chevron.svg'); } } /* ========================== media queries ========================== */ @media only screen and (max-width: @width-breakpoint-desktop-wide) { // switch to two rows of three tiles .mainpage-contents { grid-template-columns: repeat(3, 1fr) } } @media only screen and (max-width: @width-breakpoint-desktop) { // mainpage-left and -right on one column now .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); .tile-halves { // hide third recent update &:last-child { display: none; } // zoom on hover &:hover .tile-top img { transform: scale(1.04); } } .tile-top { height: 18vw; min-height: 9em; } } // hide other things .mainpage-header .header-stats { display: none; } // kill margin as it duplicates grid's gap .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: @width-breakpoint-tablet) { .mainpage-recent-updates { // resulting in single column grid-template-columns: none; // revert display:none .tile-halves:last-child { display: flex; } } // switch to three rows of two tiles .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } e1766afedcac853bd8b4d3cabbb23172ee7171fe 83 81 2024-03-22T03:19:22Z Jayden 3 Undo revision 81 by [[Special:Contributions/Jayden|Jayden]] ([[User talk:Jayden|talk]]) less less /* =================== MAIN PAGE =================== */ /* =================== variables =================== */ @mp-text-light: fade( @white, 90% ); @mp-gutter-width: .9rem; /* ========================== page-specific styles ========================== */ body.page-Main_Page { // limit max width for readability // don't use #mw-content-text because it includes the editform .mw-parser-output { max-width: 75em; margin: 0 auto; } // not when editing &.action-view { .catlinks, #contentSub, // hide pagetitle in favor of .mainpage-header // Note: as of mw1.38, this is not needed anymore // blanking both [[MediaWiki:Mainpage-title-loggedin]] & // [[MediaWiki:Mainpage-title]] applies an inline `display: none;` // #firstHeading, // anything listed in the sitenotice should already be on the main page #siteNotice { display: none; } } } /* ==================== general styles ==================== */ .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; .header-intro { flex: 2; h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 .15em; } p { font-size: 1.1em; line-height: 1.7em; } } .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } } // main sections .mainpage-body { display: grid; grid-template-areas: "event event event" // for tbzr tile "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); h2 a { color: var(--text-color); } .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .tile-row { width: 100%; margin-bottom: 0; } } .mainpage-body .tile-row { display: grid; gap: 0.9rem } // left column .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } // right column .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } /* ==================== components ==================== */ .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: .7rem; width: .45rem; vertical-align: middle; &.dark { filter: invert(80%); } } /* ============================= section-specific styles ============================= */ /* -------------------- wiki contents -------------------- */ @mp-contents-height: 4.5rem; .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); .tile-halves { flex: 1; } .tile-top { position: relative; // needed for ribbon } h2 { margin: 0; padding: 0; } .tile-bottom.link-button a { padding: 0.75em 0.2em; // prevent grid gap misalignment } } /* -------------------- popular pages -------------------- */ .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: .6em; margin: 1em 0 .7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; a { flex: 1; display: block; color: @white; font-weight: bold; text-align: center; text-decoration: none; padding: .7em 1em; } &:hover { filter: brightness(115%); transition: 100ms; } } /* -------------------- discord server -------------------- */ .mainpage-discord { border: none; box-shadow: @box-shadow-dark; .tile-top { display: flex; align-items: center; background: @discord-bg; padding: 1em 1.75em; a { flex: 1; position: relative; // allow link to cover icon text-decoration: none; &:hover .arrow { transform: translateX(50%); } } } .tile-bottom { background: @discord-bg-dark; border: none; padding: 1em 1.75em; p { color: @white; font-weight: bold; font-size: .9em; text-align: center; text-transform: uppercase; letter-spacing: .03em; margin: 0; } } .partner-icon { margin-right: .75em; } .server-name { color: @white; font-weight: bold; font-size: 1.25em; margin: .5em 0 -0.15em; } .server-tagline { color: @mp-text-light; margin-bottom: .5em; } .arrow { position: absolute; top: ~"calc(50% - .5em)"; // center arrow on its point right: 0; height: 1em; width: .7em; background-size: .7em 1em; transition: .3s ease-out; } } /* -------------------- edit the wiki -------------------- */ .mainpage-editing { border: none; box-shadow: @box-shadow-dark; .tile-top { background: @steel-blue; } .tile-bottom { background: saturate( darken( @steel-blue, 4% ), 4% ); border: none; padding: .8rem 1.5rem .4rem; } h2, a { color: @white; } p { color: @mp-text-light; } ul { list-style-image: url('filepath://Transparent-chevron.svg'); } } /* ========================== media queries ========================== */ @media only screen and (max-width: @width-breakpoint-desktop-wide) { // switch to two rows of three tiles .mainpage-contents { grid-template-columns: repeat(3, 1fr) } } @media only screen and (max-width: @width-breakpoint-desktop) { // mainpage-left and -right on one column now .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); .tile-halves { // hide third recent update &:last-child { display: none; } // zoom on hover &:hover .tile-top img { transform: scale(1.04); } } .tile-top { height: 18vw; min-height: 9em; } } // hide other things .mainpage-header .header-stats { display: none; } // kill margin as it duplicates grid's gap .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: @width-breakpoint-tablet) { .mainpage-recent-updates { // resulting in single column grid-template-columns: none; // revert display:none .tile-halves:last-child { display: flex; } } // switch to three rows of two tiles .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } b3c47db531eb4cf31cbe526e5f5d6ab2258574ad 86 83 2024-03-22T03:25:41Z Jayden 3 less less /* =================== MAIN PAGE =================== */ /* =================== variables =================== */ @mp-text-light: fade( @white, 90% ); @mp-gutter-width: .9rem; /* ========================== page-specific styles ========================== */ body.page-Main_Page { // limit max width for readability // don't use #mw-content-text because it includes the editform .mw-parser-output { max-width: 75em; margin: 0 auto; } // not when editing &.action-view { .catlinks, #contentSub, // hide pagetitle in favor of .mainpage-header // Note: as of mw1.38, this is not needed anymore // blanking both [[MediaWiki:Mainpage-title-loggedin]] & // [[MediaWiki:Mainpage-title]] applies an inline `display: none;` // #firstHeading, // anything listed in the sitenotice should already be on the main page #siteNotice { display: none; } } } /* ==================== general styles ==================== */ .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; .header-intro { flex: 2; h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 .15em; } p { font-size: 1.1em; line-height: 1.7em; } } .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } } // main sections .mainpage-body { display: grid; grid-template-areas: "event event event" // for tbzr tile "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); h2 a { color: var(--text-color); } .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .tile-row { width: 100%; margin-bottom: 0; } } .mainpage-body .tile-row { display: grid; gap: 0.9rem } // left column .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } // right column .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } /* ==================== components ==================== */ .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: .7rem; width: .45rem; vertical-align: middle; &.dark { filter: invert(80%); } } /* ============================= section-specific styles ============================= */ /* -------------------- wiki contents -------------------- */ @mp-contents-height: 4.5rem; .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); .tile-halves { flex: 1; } .tile-top { height: 4.5rem; position: relative; // needed for ribbon } h2 { margin: 0; padding: 0; } .tile-bottom.link-button a { padding: 0.75em 0.2em; // prevent grid gap misalignment } } /* -------------------- popular pages -------------------- */ .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: .6em; margin: 1em 0 .7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; a { flex: 1; display: block; color: @white; font-weight: bold; text-align: center; text-decoration: none; padding: .7em 1em; } &:hover { filter: brightness(115%); transition: 100ms; } } /* -------------------- discord server -------------------- */ .mainpage-discord { border: none; box-shadow: @box-shadow-dark; .tile-top { display: flex; align-items: center; background: @discord-bg; padding: 1em 1.75em; a { flex: 1; position: relative; // allow link to cover icon text-decoration: none; &:hover .arrow { transform: translateX(50%); } } } .tile-bottom { background: @discord-bg-dark; border: none; padding: 1em 1.75em; p { color: @white; font-weight: bold; font-size: .9em; text-align: center; text-transform: uppercase; letter-spacing: .03em; margin: 0; } } .partner-icon { margin-right: .75em; } .server-name { color: @white; font-weight: bold; font-size: 1.25em; margin: .5em 0 -0.15em; } .server-tagline { color: @mp-text-light; margin-bottom: .5em; } .arrow { position: absolute; top: ~"calc(50% - .5em)"; // center arrow on its point right: 0; height: 1em; width: .7em; background-size: .7em 1em; transition: .3s ease-out; } } /* -------------------- edit the wiki -------------------- */ .mainpage-editing { border: none; box-shadow: @box-shadow-dark; .tile-top { background: @steel-blue; } .tile-bottom { background: saturate( darken( @steel-blue, 4% ), 4% ); border: none; padding: .8rem 1.5rem .4rem; } h2, a { color: @white; } p { color: @mp-text-light; } ul { list-style-image: url('filepath://Transparent-chevron.svg'); } } /* ========================== media queries ========================== */ @media only screen and (max-width: @width-breakpoint-desktop-wide) { // switch to two rows of three tiles .mainpage-contents { grid-template-columns: repeat(3, 1fr) } } @media only screen and (max-width: @width-breakpoint-desktop) { // mainpage-left and -right on one column now .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); .tile-halves { // hide third recent update &:last-child { display: none; } // zoom on hover &:hover .tile-top img { transform: scale(1.04); } } .tile-top { height: 18vw; min-height: 9em; } } // hide other things .mainpage-header .header-stats { display: none; } // kill margin as it duplicates grid's gap .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: @width-breakpoint-tablet) { .mainpage-recent-updates { // resulting in single column grid-template-columns: none; // revert display:none .tile-halves:last-child { display: flex; } } // switch to three rows of two tiles .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } f1f77aa3bf3d8c0f09a79cffdbc8dbcc76862c49 89 86 2024-03-22T03:33:03Z Jayden 3 less less /* =================== MAIN PAGE =================== */ body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } /* =================== variables =================== */ @mp-text-light: fade( @white, 90% ); @mp-gutter-width: .9rem; /* ========================== page-specific styles ========================== */ body.page-Main_Page { // limit max width for readability // don't use #mw-content-text because it includes the editform .mw-parser-output { max-width: 75em; margin: 0 auto; } // not when editing &.action-view { .catlinks, #contentSub, // hide pagetitle in favor of .mainpage-header // Note: as of mw1.38, this is not needed anymore // blanking both [[MediaWiki:Mainpage-title-loggedin]] & // [[MediaWiki:Mainpage-title]] applies an inline `display: none;` // #firstHeading, // anything listed in the sitenotice should already be on the main page #siteNotice { display: none; } } } /* ==================== general styles ==================== */ .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; .header-intro { flex: 2; h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 .15em; } p { font-size: 1.1em; line-height: 1.7em; } } .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } } // main sections .mainpage-body { display: grid; grid-template-areas: "event event event" // for tbzr tile "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); h2 a { color: var(--text-color); } .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .tile-row { width: 100%; margin-bottom: 0; } } .mainpage-body .tile-row { display: grid; gap: 0.9rem } // left column .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } // right column .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } /* ==================== components ==================== */ .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: .7rem; width: .45rem; vertical-align: middle; &.dark { filter: invert(80%); } } /* ============================= section-specific styles ============================= */ /* -------------------- wiki contents -------------------- */ @mp-contents-height: 4.5rem; .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); .tile-halves { flex: 1; } .tile-top { height: 4.5rem; position: relative; // needed for ribbon } h2 { margin: 0; padding: 0; } .tile-bottom.link-button a { padding: 0.75em 0.2em; // prevent grid gap misalignment } } /* -------------------- popular pages -------------------- */ .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: .6em; margin: 1em 0 .7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; a { flex: 1; display: block; color: @white; font-weight: bold; text-align: center; text-decoration: none; padding: .7em 1em; } &:hover { filter: brightness(115%); transition: 100ms; } } /* -------------------- discord server -------------------- */ .mainpage-discord { border: none; box-shadow: @box-shadow-dark; .tile-top { display: flex; align-items: center; background: @discord-bg; padding: 1em 1.75em; a { flex: 1; position: relative; // allow link to cover icon text-decoration: none; &:hover .arrow { transform: translateX(50%); } } } .tile-bottom { background: @discord-bg-dark; border: none; padding: 1em 1.75em; p { color: @white; font-weight: bold; font-size: .9em; text-align: center; text-transform: uppercase; letter-spacing: .03em; margin: 0; } } .partner-icon { margin-right: .75em; } .server-name { color: @white; font-weight: bold; font-size: 1.25em; margin: .5em 0 -0.15em; } .server-tagline { color: @mp-text-light; margin-bottom: .5em; } .arrow { position: absolute; top: ~"calc(50% - .5em)"; // center arrow on its point right: 0; height: 1em; width: .7em; background-size: .7em 1em; transition: .3s ease-out; } } /* -------------------- edit the wiki -------------------- */ .mainpage-editing { border: none; box-shadow: @box-shadow-dark; .tile-top { background: @steel-blue; } .tile-bottom { background: saturate( darken( @steel-blue, 4% ), 4% ); border: none; padding: .8rem 1.5rem .4rem; } h2, a { color: @white; } p { color: @mp-text-light; } ul { list-style-image: url('filepath://Transparent-chevron.svg'); } } /* ========================== media queries ========================== */ @media only screen and (max-width: @width-breakpoint-desktop-wide) { // switch to two rows of three tiles .mainpage-contents { grid-template-columns: repeat(3, 1fr) } } @media only screen and (max-width: @width-breakpoint-desktop) { // mainpage-left and -right on one column now .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); .tile-halves { // hide third recent update &:last-child { display: none; } // zoom on hover &:hover .tile-top img { transform: scale(1.04); } } .tile-top { height: 18vw; min-height: 9em; } } // hide other things .mainpage-header .header-stats { display: none; } // kill margin as it duplicates grid's gap .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: @width-breakpoint-tablet) { .mainpage-recent-updates { // resulting in single column grid-template-columns: none; // revert display:none .tile-halves:last-child { display: flex; } } // switch to three rows of two tiles .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } 0c0ce2919232b746fd9257bcb20049eb90e7c088 Template:Main Page/Header 10 45 63 2024-03-22T03:02:27Z Jayden 3 Created page with "<div class="mainpage-header"> <div class="header-intro"> <h1>Welcome to the Brighter Shores Wiki</h1> <p>We are the wiki for ''[[Brighter Shores]]'', an upcoming fantasy MMORPG developed by Andrew Gower, and we're the most complete source of information about monsters, locations, items, professions, and more.</p> </div> <div class="header-stats plainlist nomobile"> <ul> <li>Number of articles: '''{{NUMBEROFARTICLES}}'''</li..." wikitext text/x-wiki <div class="mainpage-header"> <div class="header-intro"> <h1>Welcome to the Brighter Shores Wiki</h1> <p>We are the wiki for ''[[Brighter Shores]]'', an upcoming fantasy MMORPG developed by Andrew Gower, and we're the most complete source of information about monsters, locations, items, professions, and more.</p> </div> <div class="header-stats plainlist nomobile"> <ul> <li>Number of articles: '''{{NUMBEROFARTICLES}}'''</li> <li>Number of files: '''{{NUMBEROFFILES}}'''</li> <li>Number of active users: '''{{NUMBEROFACTIVEUSERS}}'''</li> <li>Number of edits: '''{{NUMBEROFEDITS}}'''</li> </ul> </div> </div> 2faf0b81858058001a12cb266366d9f3bf3bf5d0 64 63 2024-03-22T03:02:36Z Jayden 3 Protected "[[Main Page/Header]]": High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <div class="mainpage-header"> <div class="header-intro"> <h1>Welcome to the Brighter Shores Wiki</h1> <p>We are the wiki for ''[[Brighter Shores]]'', an upcoming fantasy MMORPG developed by Andrew Gower, and we're the most complete source of information about monsters, locations, items, professions, and more.</p> </div> <div class="header-stats plainlist nomobile"> <ul> <li>Number of articles: '''{{NUMBEROFARTICLES}}'''</li> <li>Number of files: '''{{NUMBEROFFILES}}'''</li> <li>Number of active users: '''{{NUMBEROFACTIVEUSERS}}'''</li> <li>Number of edits: '''{{NUMBEROFEDITS}}'''</li> </ul> </div> </div> 2faf0b81858058001a12cb266366d9f3bf3bf5d0 66 64 2024-03-22T03:03:28Z Jayden 3 Jayden moved page [[Main Page/Header]] to [[Template:Main Page/Header]] without leaving a redirect wikitext text/x-wiki <div class="mainpage-header"> <div class="header-intro"> <h1>Welcome to the Brighter Shores Wiki</h1> <p>We are the wiki for ''[[Brighter Shores]]'', an upcoming fantasy MMORPG developed by Andrew Gower, and we're the most complete source of information about monsters, locations, items, professions, and more.</p> </div> <div class="header-stats plainlist nomobile"> <ul> <li>Number of articles: '''{{NUMBEROFARTICLES}}'''</li> <li>Number of files: '''{{NUMBEROFFILES}}'''</li> <li>Number of active users: '''{{NUMBEROFACTIVEUSERS}}'''</li> <li>Number of edits: '''{{NUMBEROFEDITS}}'''</li> </ul> </div> </div> 2faf0b81858058001a12cb266366d9f3bf3bf5d0 95 66 2024-03-22T03:49:28Z Jayden 3 wikitext text/x-wiki <div class="mainpage-header"> <div class="header-intro"> <h1>Welcome to the Brighter Shores Wiki</h1> <p>We are the wiki for ''[[Brighter Shores]]'', an upcoming medieval MMORPG developed by [[Andrew Gower]], and the most complete source of information about monsters, locations, items, professions, and more.</p> </div> <div class="header-stats plainlist nomobile"> <ul> <li>Number of articles: '''{{NUMBEROFARTICLES}}'''</li> <li>Number of files: '''{{NUMBEROFFILES}}'''</li> <li>Number of active users: '''{{NUMBEROFACTIVEUSERS}}'''</li> <li>Number of edits: '''{{NUMBEROFEDITS}}'''</li> </ul> </div> </div> 6af2b0eafd33b83f4d8e1a42cae93b2e8b75437c Main Page 0 4 65 6 2024-03-22T03:02:44Z Jayden 3 Protected "[[Main Page]]": High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 67 65 2024-03-22T03:03:37Z Jayden 3 wikitext text/x-wiki {{Main Page/Header}} 4d467e42830bc3ea8bc210f3af534be381cb4fd0 70 67 2024-03-22T03:09:48Z Jayden 3 wikitext text/x-wiki {{Main Page/Header}} <div class="mainpage-body"> {{Main Page/Contents}} </div> 3213b8f19667668f44deaee09f344d2efc026e1c Template:Main Page/Contents 10 46 68 2024-03-22T03:09:00Z Jayden 3 Created page with "<noinclude>{{/doc}}</noinclude>__NOTOC__<div class="mainpage-contents tile-row"> <div class="contents-equipment tile-halves"> <div class="tile-top tile-image">[[File:Professions.png|link=Professions]]</div> <div class="tile-bottom link-button"><h2>[[Professions]]</h2></div> </div> <div class="contents-guides tile-halves"> <div class="tile-top tile-image">[[File:Monsters.png|link=Monsters]]</div> <div class="tile-bottom link-but..." wikitext text/x-wiki <noinclude>{{/doc}}</noinclude>__NOTOC__<div class="mainpage-contents tile-row"> <div class="contents-equipment tile-halves"> <div class="tile-top tile-image">[[File:Professions.png|link=Professions]]</div> <div class="tile-bottom link-button"><h2>[[Professions]]</h2></div> </div> <div class="contents-guides tile-halves"> <div class="tile-top tile-image">[[File:Monsters.png|link=Monsters]]</div> <div class="tile-bottom link-button"><h2>[[Monsters]]</h2></div> </div> <div class="contents-quests tile-halves"> <div class="tile-top tile-image">[[File:Equipment.png|link=Equipment]]</div> <div class="tile-bottom link-button"><h2>[[Equipment]]</h2></div> </div> <div class="contents-bestiary tile-halves"> <div class="tile-top tile-image">[[File:Locations.png|link=Locations]]</div> <div class="tile-bottom link-button"><h2>[[Locations]]</h2></div> </div> </div> e10a177816a4508f50196a589e34452dfa38f184 69 68 2024-03-22T03:09:06Z Jayden 3 Protected "[[Template:Main Page/Contents]]": High traffic page ([Edit=Allow only administrators] (indefinite)) wikitext text/x-wiki <noinclude>{{/doc}}</noinclude>__NOTOC__<div class="mainpage-contents tile-row"> <div class="contents-equipment tile-halves"> <div class="tile-top tile-image">[[File:Professions.png|link=Professions]]</div> <div class="tile-bottom link-button"><h2>[[Professions]]</h2></div> </div> <div class="contents-guides tile-halves"> <div class="tile-top tile-image">[[File:Monsters.png|link=Monsters]]</div> <div class="tile-bottom link-button"><h2>[[Monsters]]</h2></div> </div> <div class="contents-quests tile-halves"> <div class="tile-top tile-image">[[File:Equipment.png|link=Equipment]]</div> <div class="tile-bottom link-button"><h2>[[Equipment]]</h2></div> </div> <div class="contents-bestiary tile-halves"> <div class="tile-top tile-image">[[File:Locations.png|link=Locations]]</div> <div class="tile-bottom link-button"><h2>[[Locations]]</h2></div> </div> </div> e10a177816a4508f50196a589e34452dfa38f184 77 69 2024-03-22T03:15:08Z Jayden 3 wikitext text/x-wiki <noinclude>{{/doc}}</noinclude>__NOTOC__<div class="mainpage-contents tile-row"> <div class="contents-equipment tile-halves"> <div class="tile-top tile-image">[[File:Professions.jpg|link=Professions]]</div> <div class="tile-bottom link-button"><h2>[[Professions]]</h2></div> </div> <div class="contents-quests tile-halves"> <div class="tile-top tile-image">[[File:Equipment.jpg|link=Equipment]]</div> <div class="tile-bottom link-button"><h2>[[Equipment]]</h2></div> </div> <div class="contents-bestiary tile-halves"> <div class="tile-top tile-image">[[File:Locations.jpg|link=Locations]]</div> <div class="tile-bottom link-button"><h2>[[Locations]]</h2></div> </div> </div> 6c440ebc10192eb91978b7346d7bef25ace2feb2 85 77 2024-03-22T03:22:27Z Jayden 3 wikitext text/x-wiki <noinclude>{{/doc}}</noinclude>__NOTOC__<div class="mainpage-contents tile-row"> <div class="contents-professions tile-halves"> <div class="tile-top tile-image">[[File:Professions.jpg|link=Professions]]</div> <div class="tile-bottom link-button"><h2>[[Professions]]</h2></div> </div> <div class="contents-equipment tile-halves"> <div class="tile-top tile-image">[[File:Equipment.jpg|link=Equipment]]</div> <div class="tile-bottom link-button"><h2>[[Equipment]]</h2></div> </div> <div class="contents-locations tile-halves"> <div class="tile-top tile-image">[[File:Locations.jpg|link=Locations]]</div> <div class="tile-bottom link-button"><h2>[[Locations]]</h2></div> </div> <div class="contents-quests tile-halves"> <div class="tile-top tile-image">[[File:Professions.jpg|link=Quests]]</div> <div class="tile-bottom link-button"><h2>[[Quests]]</h2></div> </div> <div class="contents-characters tile-halves"> <div class="tile-top tile-image">[[File:Equipment.jpg|link=Characters]]</div> <div class="tile-bottom link-button"><h2>[[Characters]]</h2></div> </div> <div class="contents-calculators tile-halves"> <div class="tile-top tile-image">[[File:Locations.jpg|link=Calculators]]</div> <div class="tile-bottom link-button"><h2>[[Calculators]]</h2></div> </div> </div> 512d1eaa315adeb9349a3619695a2192c38c6281 File:Locations.jpg 6 47 71 2024-03-22T03:12:46Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 72 71 2024-03-22T03:12:52Z Jayden 3 Protected "[[File:Locations.jpg]]": main page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Equipment.jpg 6 48 73 2024-03-22T03:13:27Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 74 73 2024-03-22T03:13:32Z Jayden 3 Protected "[[File:Equipment.jpg]]": main page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Professions.jpg 6 49 75 2024-03-22T03:14:28Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 76 75 2024-03-22T03:14:34Z Jayden 3 Protected "[[File:Professions.jpg]]": main page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 MediaWiki:Common.less/tiles.less 8 50 78 2024-03-22T03:17:06Z Jayden 3 base cp from rsw less less /* --------------------- tiles --------------------- */ // mainpage.less relies on this; check before changing anything :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); // match --byline-color --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: saturate( darken( #e2d2ba, 2.5% ), 2% ); --tile-dark-color: @white; --tile-dark-bg: @shuttle-gray; --tile-dark-link-color: #ccc; --tile-dark-byline-color: fade( @white, 70% ); --tile-dark-header-color: @white; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: @box-shadow; padding: 1.5em 2em 1em; max-width: 40em; h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 .4em; } // reduce spacing when byline and heading appear together // (which should be the only way bylines appear) .byline + h2 { margin-top: -0.5em; } &.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: @box-shadow-dark; h2 { color: var(--tile-dark-header-color); } a { color: var(--tile-dark-link-color); } .byline { color: var(--tile-dark-byline-color); } } } .byline { font-size: .9em; color: var(--byline-color); a { color: var(--byline-color); } } /* --------------------- tile halves --------------------- */ // contains .tile or .tile-halves .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: @box-shadow; h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 .4em; } .byline + h2 { margin-top: -0.5em; } } // goes inside .tile-halves .tile-top { width: 100%; padding: 1.3rem 1.5rem .6rem; &.tile-image { display: flex; align-items: center; // vertically center images background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: .4s ease-out; .tile-halves:hover & img { transform: scale(1.1); transition: .5s ease-out; } a { width: 100%; } img { width: 100%; object-fit: cover; max-height: 200px; transition: .4s ease-out; } } } // goes inside .tile-halves .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem .6rem; &.link-button { align-self: flex-end; // have link stick to the bottom padding: 0; a { display: block; text-align: center; padding: .75em 1.5em .8em; text-decoration: none; } } // must be used in conjunction with .link-button &.read-more { background: var(--tile-link-button-color); transition: .3s ease-out; a { color: var(--byline-color); font-weight: bold; text-align: right; } &:hover { background: var(--tile-link-button-highlight-color); .arrow { transform: translateX(50%); } } .arrow { filter: var(--byline-arrow-filter); margin-left: .4em; transition: .3s ease-out; } } } 8c5849d38a2c54734227c9e3a82b4f22d41a17e9 Brighter Shores 0 51 88 2024-03-22T03:27:49Z Jayden 3 Created page with "'''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024. [[Category:Games]] [[Category:Fen Research]]" wikitext text/x-wiki '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024. [[Category:Games]] [[Category:Fen Research]] 1c9cb74f6a123ea3457f283a7e5078ce34137c48 File:Wiki@2x.png 6 52 91 2024-03-22T03:46:09Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 92 91 2024-03-22T03:46:15Z Jayden 3 Protected "[[File:Wiki@2x.png]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Wiki.png 6 53 93 2024-03-22T03:47:17Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 94 93 2024-03-22T03:47:21Z Jayden 3 Protected "[[File:Wiki.png]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Andrew Gower 0 54 96 2024-03-22T03:52:26Z Jayden 3 Created page with "'''Andrew Gower''' is the founder of [[Fen Research]], and the designer of the game [[Brighter Shores]]. Before working on Brighter Shores, he was most known for the popular [[Wikipedia:Massively multiplayer online role-playing game|MMORPG]] [[Wikipedia:RuneScape|RuneScape]], which he created while studying at the [[Wikipedia:University of Cambridge|University of Cambridge]]." wikitext text/x-wiki '''Andrew Gower''' is the founder of [[Fen Research]], and the designer of the game [[Brighter Shores]]. Before working on Brighter Shores, he was most known for the popular [[Wikipedia:Massively multiplayer online role-playing game|MMORPG]] [[Wikipedia:RuneScape|RuneScape]], which he created while studying at the [[Wikipedia:University of Cambridge|University of Cambridge]]. 3ef0a4413a4f6ab43693c97e9c9f634b88c404c6 Fen Research 0 55 97 2024-03-22T03:54:14Z Jayden 3 Created page with "'''Fen Research''' is a game development studio based in [[Wikipedia:Cambridge|Cambridge]], UK. Founded by [[Andrew Gower]], it is currently actively developing the game [[Brighter Shores]]." wikitext text/x-wiki '''Fen Research''' is a game development studio based in [[Wikipedia:Cambridge|Cambridge]], UK. Founded by [[Andrew Gower]], it is currently actively developing the game [[Brighter Shores]]. feb599ee09de43aa96e3af1791f72dea13dad255 Professions 0 56 98 2024-03-22T04:01:59Z Jayden 3 Created page with "'''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. ==List of professions== {| class="wikitable" ! Name !! Uses |- | [[Fisher]] || Catching various [[fish]] |- | [[Forager]] || Gathering items |- | [[Chef]] || Cooking [[food]] items |- | [[Woodcutter]] || Chopping down [[tree]]s |- | [[Miner]] || Mining [[mineral]]s |- | [[Alchemist]] || |- | [[Stonemason]] || |- | [[Merchant]] || |- | [[Blacksmith]] || |}" wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. ==List of professions== {| class="wikitable" ! Name !! Uses |- | [[Fisher]] || Catching various [[fish]] |- | [[Forager]] || Gathering items |- | [[Chef]] || Cooking [[food]] items |- | [[Woodcutter]] || Chopping down [[tree]]s |- | [[Miner]] || Mining [[mineral]]s |- | [[Alchemist]] || |- | [[Stonemason]] || |- | [[Merchant]] || |- | [[Blacksmith]] || |} 5f3a40ae4cf4be8c7587716fb8c6e60fa4ab4155 MediaWiki:Sidebar 8 57 99 2024-03-22T04:05:10Z Jayden 3 Created page with " * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage * Guides ** Professions ** Equipment ** Locations ** Quests * SEARCH * TOOLBOX * LANGUAGES" wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage * Guides ** Professions ** Equipment ** Locations ** Quests * SEARCH * TOOLBOX * LANGUAGES fd49a968b7bd5d710b34d75ad2bd4c546e006490 File:Wiki background.jpg 6 14 103 23 2024-03-22T04:14:03Z Jayden 3 Jayden uploaded a new version of [[File:Wiki background.jpg]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 110 103 2024-03-22T04:30:15Z Jayden 3 Jayden uploaded a new version of [[File:Wiki background.jpg]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 MediaWiki:Vector.less/vectortabs.less 8 36 104 47 2024-03-22T04:19:06Z Jayden 3 less less :root { // for more granular control for dark mode --vector-tab-background: #f0f0f0; --vector-tab-background--hover: var(--body-mid); --vector-tab-link-color: var(--background-link-color); // uses --background-link-color (#52351e) --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%2352351e' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); } .vector-menu-tabs-legacy { // Part of the css required to fix external link heights regardless of font size //.vector-menu-content { // height: 100%; still needed? //} // pixel padding for border padding: 0; // redlink in tab .new { a, a:visited { color: var(--redlink-color); } } // selected tab .selected { background: var(--body-main); a, a:visited { color: var(--text-color); } } // padding for tabs li a { color: var(--vector-tab-link-color); padding: 0 .75em; padding-top: 1em; &:visited { color: var(--vector-tab-link-color); } } // background for tabs ul { li { background: var(--vector-tab-background); } a:hover { text-decoration: none; } } } // hide "Read" tab #ca-view { display: none !important; // for beating the inline style in lower widths } // Tabs hover .vector-menu-tabs ul li:not(.selected):hover, // "More options" dropdown #p-cactions:hover #p-cactions-label { background: var(--vector-tab-background--hover); } // inner shadow for tabs .vector-menu-tabs ul li:not(.selected), #mw-head .vector-menu-dropdown .vector-menu-heading { box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } // remove image borders between all tabs .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } // remove remaining blue border in VisualEditor .ve-activated .vector-menu-tabs .selected { box-shadow: none; } // Watch icon .vector-menu-tabs { #ca-watch.icon a { &:before, &:hover:before, &:focus:before { background-image: var(--watch-icon); } } #ca-unwatch.icon a { &:before, &:hover:before, &:focus:before { background-image: var(--unwatch-icon); } } } 742c3295ece3a7910ee3941a1115d3c106617ede 106 104 2024-03-22T04:20:31Z Jayden 3 less less :root { // for more granular control for dark mode --vector-tab-background: #f0f0f0; --vector-tab-background--hover: var(--body-mid); --vector-tab-link-color: #937040; // uses --background-link-color (#52351e) --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%2352351e' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); } .vector-menu-tabs-legacy { // Part of the css required to fix external link heights regardless of font size //.vector-menu-content { // height: 100%; still needed? //} // pixel padding for border padding: 0; // redlink in tab .new { a, a:visited { color: var(--redlink-color); } } // selected tab .selected { background: var(--body-main); a, a:visited { color: var(--text-color); } } // padding for tabs li a { color: var(--vector-tab-link-color); padding: 0 .75em; padding-top: 1em; &:visited { color: var(--vector-tab-link-color); } } // background for tabs ul { li { background: var(--vector-tab-background); } a:hover { text-decoration: none; } } } // hide "Read" tab #ca-view { display: none !important; // for beating the inline style in lower widths } // Tabs hover .vector-menu-tabs ul li:not(.selected):hover, // "More options" dropdown #p-cactions:hover #p-cactions-label { background: var(--vector-tab-background--hover); } // inner shadow for tabs .vector-menu-tabs ul li:not(.selected), #mw-head .vector-menu-dropdown .vector-menu-heading { box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } // remove image borders between all tabs .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } // remove remaining blue border in VisualEditor .ve-activated .vector-menu-tabs .selected { box-shadow: none; } // Watch icon .vector-menu-tabs { #ca-watch.icon a { &:before, &:hover:before, &:focus:before { background-image: var(--watch-icon); } } #ca-unwatch.icon a { &:before, &:hover:before, &:focus:before { background-image: var(--unwatch-icon); } } } bf9b6b0a2dafee92b23836ba07faffcabdfc99e9 MediaWiki:Vector.css 8 43 105 55 2024-03-22T04:19:11Z Jayden 3 Updating CSS from [[MediaWiki:Vector.less]] css text/css /* <pre> */ :root { --ul-list-style-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='13'%3E%3Ccircle cx='2.5' cy='9' r='2.5' fill='%23000'/%3E%3C/svg%3E"); } html { -webkit-text-size-adjust: 100%; } body { background: var(--body-background-image) var(--body-background-color) top left / 1500px 375px no-repeat; font-family: 'Helvetica Neue', 'Arial', sans-serif; } .vector-body { font-size: 0.9em; } #firstHeading { font-weight: bold; } pre, code, .mw-code { color: inherit; background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } dl { margin: 0; } ul { list-style-image: var(--ul-list-style-image); } hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } fieldset { border-color: var(--sidebar); } .vector-body blockquote { border-color: var(--body-mid); } :root { --personal-links-bg: var(--body-main); --arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M11.05 3.996l-.965-1.053-4.035 3.86-3.947-3.86L1.05 3.996l5 5 5-5' fill='%23444'/%3E%3C/svg%3E"); } .vector-menu-dropdown .vector-menu-heading { background-color: var(--vector-tab-background); padding: 1em 0.75em 0.6923em; margin: 0; } .vector-menu-dropdown .vector-menu-heading, .vector-menu-dropdown .vector-menu-heading:hover, .vector-menu-dropdown .vector-menu-heading:focus { color: var(--background-text-color); } .vector-menu-dropdown .vector-menu-heading:after { background-image: var(--arrow-down); opacity: 1; } .vector-menu-dropdown .vector-menu-content { border-color: transparent; background-color: var(--body-light); box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.1); left: 0; } .vector-menu-dropdown .mw-list-item a { color: var(--link-color); } .vector-menu-dropdown .mw-list-item.selected a, .vector-menu-dropdown .mw-list-item.selected a:visited { color: var(--text-color); } #p-personal { background: var(--personal-links-bg); top: 0; right: 0; border-radius: 0 0 0 4px; height: 1.875em; } #p-personal ul { padding: 0 1em 0 0.4375em; } .vector-search-box-inner { background: var(--search-box); height: 2.5em; margin-top: 0; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } .vector-search-box-input { color: var(--text-color); height: 100%; border: none; background: none; padding-left: 0.75em; } .vector-search-box-input::placeholder { color: var(--text-color); opacity: 0.67; } .vector-search-box-inner:hover .vector-search-box-input, .vector-search-box-input:focus, .vector-search-box-inner:hover .vector-search-box-input:focus { border: none; box-shadow: none; } :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='13'%3E%3Cg fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M11.29 11.71l-4-4'/%3E%3Ccircle cx='5' cy='5' r='4'/%3E%3C/g%3E%3C/svg%3E"); } .searchButton[name='go'] { background: no-repeat center var(--searchbutton-icon); } .vector-search-box { margin: 0; } .vector-search-box form { margin-top: 0; } .suggestions-results { background-color: var(--body-light); border-color: var(--body-border); } .suggestions-result { color: var(--text-color); } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--text-color); } .suggestions-special { background-color: var(--body-light); border-color: var(--body-border); } .suggestions-special .special-label { color: var(--byline-color); } .suggestions-special .special-query { color: var(--text-color); } .suggestions-result-current { background-color: var(--body-mid); color: var(--text-color); } .suggestions-result-current .special-label, .suggestions-result-current .special-query { color: var(--text-color); } #mw-panel { padding-top: 2.5em; } .vector-menu-portal .vector-menu-heading { color: var(--background-text-color); font-weight: bold; background: none; } .vector-menu-portal .vector-menu-content li a, .vector-menu-portal .vector-menu-content li a:visited { color: var(--background-link-color); } #p-logo { filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.25)); margin: -1.5em 0 0; } #n-Discord a { color: #fff !important; font-weight: bold; border-radius: 4px; border: 1px solid #4c57d0; background-color: #5865f2; display: block; position: relative; padding: 4px 4px 5px calc(17px + 6.5px * 2); box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); transition: 0.2s; } #n-Discord a::before { content: 'Chat on '; font-weight: normal; opacity: 0.85; } #n-Discord a::after { content: ''; background: url('filepath://Discord_logo_icon.svg') no-repeat; background-size: 17px 13px; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1)); position: absolute; top: 5px; left: 7px; width: 17px; height: 13px; } #n-Discord a:hover { text-decoration: none; background-color: #525ee0; } .wgl-theme-dark #n-Discord a { background-color: #525ee0; } .wgl-theme-dark #n-Discord a:hover { background-color: #4c57d0; } :root { --vector-tab-background: #f0f0f0; --vector-tab-background--hover: var(--body-mid); --vector-tab-link-color: var(--background-link-color); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%2352351e' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); } .vector-menu-tabs-legacy { padding: 0; } .vector-menu-tabs-legacy .new a, .vector-menu-tabs-legacy .new a:visited { color: var(--redlink-color); } .vector-menu-tabs-legacy .selected { background: var(--body-main); } .vector-menu-tabs-legacy .selected a, .vector-menu-tabs-legacy .selected a:visited { color: var(--text-color); } .vector-menu-tabs-legacy li a { color: var(--vector-tab-link-color); padding: 0 0.75em; padding-top: 1em; } .vector-menu-tabs-legacy li a:visited { color: var(--vector-tab-link-color); } .vector-menu-tabs-legacy ul li { background: var(--vector-tab-background); } .vector-menu-tabs-legacy ul a:hover { text-decoration: none; } #ca-view { display: none !important; } .vector-menu-tabs ul li:not(.selected):hover, #p-cactions:hover #p-cactions-label { background: var(--vector-tab-background--hover); } .vector-menu-tabs ul li:not(.selected), #mw-head .vector-menu-dropdown .vector-menu-heading { box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } .ve-activated .vector-menu-tabs .selected { box-shadow: none; } .vector-menu-tabs #ca-watch.icon a:before, .vector-menu-tabs #ca-watch.icon a:hover:before, .vector-menu-tabs #ca-watch.icon a:focus:before { background-image: var(--watch-icon); } .vector-menu-tabs #ca-unwatch.icon a:before, .vector-menu-tabs #ca-unwatch.icon a:hover:before, .vector-menu-tabs #ca-unwatch.icon a:focus:before { background-image: var(--unwatch-icon); } div.thumbinner { border: none; background-color: var(--thumb-bg); padding: 0; } .thumbimage { background-color: transparent; border-color: transparent; border-bottom: none; } .thumbcaption { background: var(--thumb-caption-bg); padding: 4px 6px; } :root { --toc-bg: var(--body-light); --toc-title-bg: var(--body-dark); --toc-border-color: var(--body-border); --toc-list-border-color: var(--body-border); } .toc { font-size: 0.9em; background: var(--toc-bg); margin-top: 1em; padding: 0; border-color: var(--toc-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); clear: left; } .toc .toctitle { background: var(--toc-title-bg); padding: 0.25em 1em; } .toc .toctitle h2 { font-family: inherit; } .toc > ul { line-height: 1.8em; padding: 0.75em 1.75em; margin: 0; } .toc ul ul { border-left: 1px dotted var(--toc-list-border-color); padding-left: 0.5em; } .tocnumber { display: none; } .toctogglespan { padding-left: 0.2em; font-size: 0.9em; } .toctogglelabel { color: var(--link-color); } .toclimit-2 #toc .toclevel-2, .toclimit-3 #toc .toclevel-3, .toclimit-4 #toc .toclevel-4, .toclimit-5 #toc .toclevel-5, .toclimit-6 #toc .toclevel-6, .toclimit-7 #toc .toclevel-7 { display: none; } :root { --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23936039' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } .mw-parser-output a.external { background-image: var(--external-icon); background-size: 0.833em; } .mw-editsection { font-family: 'Helvetica Neue', 'Arial', sans-serif; } .client-js .mw-content-ltr .mw-editsection-bracket:first-of-type, .client-js .mw-content-ltr .mw-editsection-bracket:not(:first-of-type), .mw-editsection-divider { color: var(--text-color); } #contentSub, #contentSub2 { color: var(--byline-color); margin: 0; } #contentSub:not(:empty), #contentSub2:not(:empty) { margin: 0 0 1.4em 0; } .mw-collapsible.mw-collapsed { min-width: 250px; } .mw-collapsible:not( .mw-made-collapsible) th::before, .mw-collapsible .mw-collapsible-toggle { font-weight: normal; margin-left: 0.2em; } .wikiEditor-ui .wikiEditor-ui-view, .wikiEditor-ui .wikiEditor-ui-top { border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar { background-color: var(--sourceeditor-background); } .wikiEditor-ui-toolbar .tabs span.tab > a, .wikiEditor-ui-toolbar .tabs span.tab > a:visited { color: var(--link-color); } .wikiEditor-ui-toolbar .tabs span.tab a.current, .wikiEditor-ui-toolbar .tabs span.tab a.current:visited { color: var(--text-colour); } .wikiEditor-ui-toolbar .group { border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar .group .tool-select { background-color: var(--sourceeditor-background); border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar .group .tool-select .options { border-color: var(--sourceeditor-border); background-color: var(--body-main); } .wikiEditor-ui-toolbar .group .tool-select .options .option { color: var(--link-color); } .wikiEditor-ui-toolbar .group .tool-select .menu .options .option:hover { background-color: var(--ooui-normal--hover); } .wikiEditor-ui-toolbar .group-search { border-left-color: var(--body-mid); } .wikiEditor-ui-toolbar .page-table td { border-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .page-table th { color: var(--text-color); } .wikiEditor-ui-toolbar .sections .section { border-color: var(--body-mid); } .wikiEditor-ui-toolbar .sections .toolbar .group > .label { color: var(--text-color); } .wikiEditor-ui-toolbar .sections .toolbar .tool > .label { color: var(--text-color); } .wikiEditor-ui-toolbar .booklet > .index > :hover { background-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .booklet .index > .current { background-color: var(--body-mid); color: var(--link-color); } .wikiEditor-ui-toolbar .page-characters div span { border-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .page-characters div span:hover { border-color: var(--body-dark); background-color: transparent; } .wikiEditor-ui-toolbar .tabs span.tab a:before, .wikiEditor-ui-toolbar .group .tool-select .label:after { background: var(--text-color); -webkit-mask: var(--arrow-down) center no-repeat; mask: var(--arrow-down) center no-repeat; } .ace-tm { background-color: var(--sourceeditor-input-background); color: var(--text-color); } .ace-tm .ace_gutter { background: var(--body-mid); color: var(--text-color); } .ace-tm .ace_gutter-cell { color: var(--text-color); } .ace-tm .ace_gutter-active-line { background-color: var(--body-light); } .ace_search { background-color: var(--body-light); color: var(--text-color); border-color: var(--body-mid); } .ace_search_field { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .ace_searchbtn { border-color: var(--ooui-normal-border); background-color: var(--ooui-normal); color: var(--ooui-text); } .ace_searchbtn:last-child { border-color: var(--ooui-normal-border); } .ace_searchbtn:hover { background-color: var(--ooui-normal--hover); } .ace_searchbtn.prev:after, .ace_searchbtn.next:after { border-color: var(--ooui-text); } .ace_button { color: var(--text-color); } .ace_button:hover { background-color: rgba(0, 23, 70, 0.086); } .ace_button:active { background-color: rgba(0, 23, 70, 0.06); } .ace_button.checked { border-color: var(--ooui-accent); } .CodeMirror { background: var(--sourceeditor-input-background); } .CodeMirror pre { color: var(--text-color); } .codeEditor-status { border-color: var(--sourceeditor-border); background-color: var(--sourceeditor-background); } .codeEditor-status-message { border-color: var(--sourceeditor-border); } .CodeMirror-gutters { background-color: var(--codemirror-gutter-background); border-color: var(--sourceeditor-border); } .CodeMirror-linenumber { color: var(--text-color); } .ve-init-mw-desktopArticleTarget .CodeMirror-linenumber { color: var(--byline-color); } .mw-editform #wpTextbox1 { color: var(--text-color); background: var(--sourceeditor-input-background); border-color: var(--sourceeditor-border); } input[name="model"][value="Scribunto"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="css"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="less"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="javascript"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="json"] ~ .wikiEditor-ui #wpTextbox1 { height: 600px; } .tdg-templateDataDialog-listParamsPanel textarea.oo-ui-textInputWidget-autosized { resize: vertical; } #wpAceFilterEditor { resize: horizontal; } .warn-userupload, .ns-2 .upload-own-work { display: none; } .ns-2 .warn-userupload { display: inline; } textarea[name="wfUploadDescription"] { height: 3em; } #editform { margin-top: 1.25em; } #mw-scribunto-input, #mw-scribunto-output { padding: 3px; font-family: monospace; font-size: 13px; line-height: 1.5em; } #mw-scribunto-input { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } :root { --scribuntoconsole-input: #0b5884; --scibuntoconsole-print: #a48900; --scribuntoconsole-error: #9f261e; --scribuntoconsole-message: #3c780a; --scribuntoconsole-tabcomplete: #4f348b; --scribuntoconsole-clear: #9f261e; } .mw-scribunto-console-fieldset { color: inherit; background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-scribunto-normalOutput, .mw-scribunto-print, .mw-scribunto-error, .mw-scribunto-propList, .mw-scribunto-message, .mw-scribunto-tabcomplete { background: none; } .mw-scribunto-input { color: var(--scribuntoconsole-input); } .mw-scribunto-normalOutput { color: inherit; } .mw-scribunto-print { color: var(--scibuntoconsole-print); } .mw-scribunto-error { color: var(--scribuntoconsole-error); } .mw-scribunto-propList, .mw-scribunto-message { color: var(--scribuntoconsole-message); } .mw-scribunto-tabcomplete { color: var(--scribuntoconsole-tabcomplete); } .mw-scribunto-clear { color: var(--scribuntoconsole-clear); border-bottom-color: var(--scribuntoconsole-clear); } :root { --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%234c4c4c' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%234c4c4c' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --echo-icon-bell-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Ebell%3C/title%3E%3Cpath d=%22M16 7a5.38 5.38 0 00-4.46-4.85C11.6 1.46 11.53 0 10 0S8.4 1.46 8.46 2.15A5.38 5.38 0 004 7v6l-2 2v1h16v-1l-2-2zm-6 13a3 3 0 003-3H7a3 3 0 003 3z%22 fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-tray-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Etray%3C/title%3E%3Cpath d=%22M3 1a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V3a2 2 0 00-2-2zm14 12h-4l-1 2H8l-1-2H3V3h14z%22 fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-fullscreen-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E fullscreen %3C/title%3E%3Cg fill='%234c4c4c'%3E%3Cpath d='M1 1v6h2V3h4V1zm2 12H1v6h6v-2H3zm14 4h-4v2h6v-6h-2zm0-16h-4v2h4v4h2V1z'/%3E%3C/g%3E%3Cscript xmlns=''/%3E%3C/svg%3E"); --echo-icon-exitFullscreen-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E exit fullscreen %3C/title%3E%3Cg fill='%234c4c4c'%3E%3Cpath d='M7 7V1H5v4H1v2zM5 19h2v-6H1v2h4zm10-4h4v-2h-6v6h2zm0-8h4V5h-4V1h-2v6z'/%3E%3C/g%3E%3Cscript xmlns=''/%3E%3C/svg%3E"); } .vector-user-menu-legacy #pt-userpage a, .vector-user-menu-legacy #pt-anonuserpage { background-image: var(--echo-icon-person-bg-image); padding-top: 0; background-position-y: 0; } .vector-user-menu-legacy #pt-anonuserpage { color: var(--byline-color); } #pt-notifications-alert .mw-echo-notifications-badge, #pt-notifications-notice .mw-echo-notifications-badge { background-size: 75%; background-position: center 80%; background-repeat: no-repeat; opacity: unset; } #pt-notifications-alert .mw-echo-notifications-badge.mw-echo-notifications-badge-all-read, #pt-notifications-notice .mw-echo-notifications-badge.mw-echo-notifications-badge-all-read { opacity: unset; } #pt-notifications-alert .oo-ui-icon-bell { background-image: var(--echo-icon-bell-bg-image); } #pt-notifications-notice .oo-ui-icon-tray { background-image: var(--echo-icon-tray-bg-image); } #pt-fixed-width .oo-ui-icon-advanced { background-image: var(--echo-icon-exitFullscreen-bg-image); } body.wgl-fixedWidth #pt-fixed-width .oo-ui-icon-advanced { background-image: var(--echo-icon-fullscreen-bg-image); } #pt-theme-toggles .oo-ui-icon-advanced { background-image: var(--echo-icon-moon-bg-image); } #pt-anontalk { padding-top: 0.6em; } .tabber { display: inline-grid; } a4623a2619a011280333fb2a38609fbc1612bacc 107 105 2024-03-22T04:20:34Z Jayden 3 Updating CSS from [[MediaWiki:Vector.less]] css text/css /* <pre> */ :root { --ul-list-style-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='13'%3E%3Ccircle cx='2.5' cy='9' r='2.5' fill='%23000'/%3E%3C/svg%3E"); } html { -webkit-text-size-adjust: 100%; } body { background: var(--body-background-image) var(--body-background-color) top left / 1500px 375px no-repeat; font-family: 'Helvetica Neue', 'Arial', sans-serif; } .vector-body { font-size: 0.9em; } #firstHeading { font-weight: bold; } pre, code, .mw-code { color: inherit; background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } dl { margin: 0; } ul { list-style-image: var(--ul-list-style-image); } hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } fieldset { border-color: var(--sidebar); } .vector-body blockquote { border-color: var(--body-mid); } :root { --personal-links-bg: var(--body-main); --arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M11.05 3.996l-.965-1.053-4.035 3.86-3.947-3.86L1.05 3.996l5 5 5-5' fill='%23444'/%3E%3C/svg%3E"); } .vector-menu-dropdown .vector-menu-heading { background-color: var(--vector-tab-background); padding: 1em 0.75em 0.6923em; margin: 0; } .vector-menu-dropdown .vector-menu-heading, .vector-menu-dropdown .vector-menu-heading:hover, .vector-menu-dropdown .vector-menu-heading:focus { color: var(--background-text-color); } .vector-menu-dropdown .vector-menu-heading:after { background-image: var(--arrow-down); opacity: 1; } .vector-menu-dropdown .vector-menu-content { border-color: transparent; background-color: var(--body-light); box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.1); left: 0; } .vector-menu-dropdown .mw-list-item a { color: var(--link-color); } .vector-menu-dropdown .mw-list-item.selected a, .vector-menu-dropdown .mw-list-item.selected a:visited { color: var(--text-color); } #p-personal { background: var(--personal-links-bg); top: 0; right: 0; border-radius: 0 0 0 4px; height: 1.875em; } #p-personal ul { padding: 0 1em 0 0.4375em; } .vector-search-box-inner { background: var(--search-box); height: 2.5em; margin-top: 0; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } .vector-search-box-input { color: var(--text-color); height: 100%; border: none; background: none; padding-left: 0.75em; } .vector-search-box-input::placeholder { color: var(--text-color); opacity: 0.67; } .vector-search-box-inner:hover .vector-search-box-input, .vector-search-box-input:focus, .vector-search-box-inner:hover .vector-search-box-input:focus { border: none; box-shadow: none; } :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='13'%3E%3Cg fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M11.29 11.71l-4-4'/%3E%3Ccircle cx='5' cy='5' r='4'/%3E%3C/g%3E%3C/svg%3E"); } .searchButton[name='go'] { background: no-repeat center var(--searchbutton-icon); } .vector-search-box { margin: 0; } .vector-search-box form { margin-top: 0; } .suggestions-results { background-color: var(--body-light); border-color: var(--body-border); } .suggestions-result { color: var(--text-color); } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--text-color); } .suggestions-special { background-color: var(--body-light); border-color: var(--body-border); } .suggestions-special .special-label { color: var(--byline-color); } .suggestions-special .special-query { color: var(--text-color); } .suggestions-result-current { background-color: var(--body-mid); color: var(--text-color); } .suggestions-result-current .special-label, .suggestions-result-current .special-query { color: var(--text-color); } #mw-panel { padding-top: 2.5em; } .vector-menu-portal .vector-menu-heading { color: var(--background-text-color); font-weight: bold; background: none; } .vector-menu-portal .vector-menu-content li a, .vector-menu-portal .vector-menu-content li a:visited { color: var(--background-link-color); } #p-logo { filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.25)); margin: -1.5em 0 0; } #n-Discord a { color: #fff !important; font-weight: bold; border-radius: 4px; border: 1px solid #4c57d0; background-color: #5865f2; display: block; position: relative; padding: 4px 4px 5px calc(17px + 6.5px * 2); box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); transition: 0.2s; } #n-Discord a::before { content: 'Chat on '; font-weight: normal; opacity: 0.85; } #n-Discord a::after { content: ''; background: url('filepath://Discord_logo_icon.svg') no-repeat; background-size: 17px 13px; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1)); position: absolute; top: 5px; left: 7px; width: 17px; height: 13px; } #n-Discord a:hover { text-decoration: none; background-color: #525ee0; } .wgl-theme-dark #n-Discord a { background-color: #525ee0; } .wgl-theme-dark #n-Discord a:hover { background-color: #4c57d0; } :root { --vector-tab-background: #f0f0f0; --vector-tab-background--hover: var(--body-mid); --vector-tab-link-color: #937040; --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%2352351e' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); } .vector-menu-tabs-legacy { padding: 0; } .vector-menu-tabs-legacy .new a, .vector-menu-tabs-legacy .new a:visited { color: var(--redlink-color); } .vector-menu-tabs-legacy .selected { background: var(--body-main); } .vector-menu-tabs-legacy .selected a, .vector-menu-tabs-legacy .selected a:visited { color: var(--text-color); } .vector-menu-tabs-legacy li a { color: var(--vector-tab-link-color); padding: 0 0.75em; padding-top: 1em; } .vector-menu-tabs-legacy li a:visited { color: var(--vector-tab-link-color); } .vector-menu-tabs-legacy ul li { background: var(--vector-tab-background); } .vector-menu-tabs-legacy ul a:hover { text-decoration: none; } #ca-view { display: none !important; } .vector-menu-tabs ul li:not(.selected):hover, #p-cactions:hover #p-cactions-label { background: var(--vector-tab-background--hover); } .vector-menu-tabs ul li:not(.selected), #mw-head .vector-menu-dropdown .vector-menu-heading { box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } .ve-activated .vector-menu-tabs .selected { box-shadow: none; } .vector-menu-tabs #ca-watch.icon a:before, .vector-menu-tabs #ca-watch.icon a:hover:before, .vector-menu-tabs #ca-watch.icon a:focus:before { background-image: var(--watch-icon); } .vector-menu-tabs #ca-unwatch.icon a:before, .vector-menu-tabs #ca-unwatch.icon a:hover:before, .vector-menu-tabs #ca-unwatch.icon a:focus:before { background-image: var(--unwatch-icon); } div.thumbinner { border: none; background-color: var(--thumb-bg); padding: 0; } .thumbimage { background-color: transparent; border-color: transparent; border-bottom: none; } .thumbcaption { background: var(--thumb-caption-bg); padding: 4px 6px; } :root { --toc-bg: var(--body-light); --toc-title-bg: var(--body-dark); --toc-border-color: var(--body-border); --toc-list-border-color: var(--body-border); } .toc { font-size: 0.9em; background: var(--toc-bg); margin-top: 1em; padding: 0; border-color: var(--toc-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); clear: left; } .toc .toctitle { background: var(--toc-title-bg); padding: 0.25em 1em; } .toc .toctitle h2 { font-family: inherit; } .toc > ul { line-height: 1.8em; padding: 0.75em 1.75em; margin: 0; } .toc ul ul { border-left: 1px dotted var(--toc-list-border-color); padding-left: 0.5em; } .tocnumber { display: none; } .toctogglespan { padding-left: 0.2em; font-size: 0.9em; } .toctogglelabel { color: var(--link-color); } .toclimit-2 #toc .toclevel-2, .toclimit-3 #toc .toclevel-3, .toclimit-4 #toc .toclevel-4, .toclimit-5 #toc .toclevel-5, .toclimit-6 #toc .toclevel-6, .toclimit-7 #toc .toclevel-7 { display: none; } :root { --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23936039' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } .mw-parser-output a.external { background-image: var(--external-icon); background-size: 0.833em; } .mw-editsection { font-family: 'Helvetica Neue', 'Arial', sans-serif; } .client-js .mw-content-ltr .mw-editsection-bracket:first-of-type, .client-js .mw-content-ltr .mw-editsection-bracket:not(:first-of-type), .mw-editsection-divider { color: var(--text-color); } #contentSub, #contentSub2 { color: var(--byline-color); margin: 0; } #contentSub:not(:empty), #contentSub2:not(:empty) { margin: 0 0 1.4em 0; } .mw-collapsible.mw-collapsed { min-width: 250px; } .mw-collapsible:not( .mw-made-collapsible) th::before, .mw-collapsible .mw-collapsible-toggle { font-weight: normal; margin-left: 0.2em; } .wikiEditor-ui .wikiEditor-ui-view, .wikiEditor-ui .wikiEditor-ui-top { border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar { background-color: var(--sourceeditor-background); } .wikiEditor-ui-toolbar .tabs span.tab > a, .wikiEditor-ui-toolbar .tabs span.tab > a:visited { color: var(--link-color); } .wikiEditor-ui-toolbar .tabs span.tab a.current, .wikiEditor-ui-toolbar .tabs span.tab a.current:visited { color: var(--text-colour); } .wikiEditor-ui-toolbar .group { border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar .group .tool-select { background-color: var(--sourceeditor-background); border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar .group .tool-select .options { border-color: var(--sourceeditor-border); background-color: var(--body-main); } .wikiEditor-ui-toolbar .group .tool-select .options .option { color: var(--link-color); } .wikiEditor-ui-toolbar .group .tool-select .menu .options .option:hover { background-color: var(--ooui-normal--hover); } .wikiEditor-ui-toolbar .group-search { border-left-color: var(--body-mid); } .wikiEditor-ui-toolbar .page-table td { border-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .page-table th { color: var(--text-color); } .wikiEditor-ui-toolbar .sections .section { border-color: var(--body-mid); } .wikiEditor-ui-toolbar .sections .toolbar .group > .label { color: var(--text-color); } .wikiEditor-ui-toolbar .sections .toolbar .tool > .label { color: var(--text-color); } .wikiEditor-ui-toolbar .booklet > .index > :hover { background-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .booklet .index > .current { background-color: var(--body-mid); color: var(--link-color); } .wikiEditor-ui-toolbar .page-characters div span { border-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .page-characters div span:hover { border-color: var(--body-dark); background-color: transparent; } .wikiEditor-ui-toolbar .tabs span.tab a:before, .wikiEditor-ui-toolbar .group .tool-select .label:after { background: var(--text-color); -webkit-mask: var(--arrow-down) center no-repeat; mask: var(--arrow-down) center no-repeat; } .ace-tm { background-color: var(--sourceeditor-input-background); color: var(--text-color); } .ace-tm .ace_gutter { background: var(--body-mid); color: var(--text-color); } .ace-tm .ace_gutter-cell { color: var(--text-color); } .ace-tm .ace_gutter-active-line { background-color: var(--body-light); } .ace_search { background-color: var(--body-light); color: var(--text-color); border-color: var(--body-mid); } .ace_search_field { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .ace_searchbtn { border-color: var(--ooui-normal-border); background-color: var(--ooui-normal); color: var(--ooui-text); } .ace_searchbtn:last-child { border-color: var(--ooui-normal-border); } .ace_searchbtn:hover { background-color: var(--ooui-normal--hover); } .ace_searchbtn.prev:after, .ace_searchbtn.next:after { border-color: var(--ooui-text); } .ace_button { color: var(--text-color); } .ace_button:hover { background-color: rgba(0, 23, 70, 0.086); } .ace_button:active { background-color: rgba(0, 23, 70, 0.06); } .ace_button.checked { border-color: var(--ooui-accent); } .CodeMirror { background: var(--sourceeditor-input-background); } .CodeMirror pre { color: var(--text-color); } .codeEditor-status { border-color: var(--sourceeditor-border); background-color: var(--sourceeditor-background); } .codeEditor-status-message { border-color: var(--sourceeditor-border); } .CodeMirror-gutters { background-color: var(--codemirror-gutter-background); border-color: var(--sourceeditor-border); } .CodeMirror-linenumber { color: var(--text-color); } .ve-init-mw-desktopArticleTarget .CodeMirror-linenumber { color: var(--byline-color); } .mw-editform #wpTextbox1 { color: var(--text-color); background: var(--sourceeditor-input-background); border-color: var(--sourceeditor-border); } input[name="model"][value="Scribunto"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="css"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="less"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="javascript"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="json"] ~ .wikiEditor-ui #wpTextbox1 { height: 600px; } .tdg-templateDataDialog-listParamsPanel textarea.oo-ui-textInputWidget-autosized { resize: vertical; } #wpAceFilterEditor { resize: horizontal; } .warn-userupload, .ns-2 .upload-own-work { display: none; } .ns-2 .warn-userupload { display: inline; } textarea[name="wfUploadDescription"] { height: 3em; } #editform { margin-top: 1.25em; } #mw-scribunto-input, #mw-scribunto-output { padding: 3px; font-family: monospace; font-size: 13px; line-height: 1.5em; } #mw-scribunto-input { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } :root { --scribuntoconsole-input: #0b5884; --scibuntoconsole-print: #a48900; --scribuntoconsole-error: #9f261e; --scribuntoconsole-message: #3c780a; --scribuntoconsole-tabcomplete: #4f348b; --scribuntoconsole-clear: #9f261e; } .mw-scribunto-console-fieldset { color: inherit; background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-scribunto-normalOutput, .mw-scribunto-print, .mw-scribunto-error, .mw-scribunto-propList, .mw-scribunto-message, .mw-scribunto-tabcomplete { background: none; } .mw-scribunto-input { color: var(--scribuntoconsole-input); } .mw-scribunto-normalOutput { color: inherit; } .mw-scribunto-print { color: var(--scibuntoconsole-print); } .mw-scribunto-error { color: var(--scribuntoconsole-error); } .mw-scribunto-propList, .mw-scribunto-message { color: var(--scribuntoconsole-message); } .mw-scribunto-tabcomplete { color: var(--scribuntoconsole-tabcomplete); } .mw-scribunto-clear { color: var(--scribuntoconsole-clear); border-bottom-color: var(--scribuntoconsole-clear); } :root { --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%234c4c4c' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%234c4c4c' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --echo-icon-bell-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Ebell%3C/title%3E%3Cpath d=%22M16 7a5.38 5.38 0 00-4.46-4.85C11.6 1.46 11.53 0 10 0S8.4 1.46 8.46 2.15A5.38 5.38 0 004 7v6l-2 2v1h16v-1l-2-2zm-6 13a3 3 0 003-3H7a3 3 0 003 3z%22 fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-tray-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Etray%3C/title%3E%3Cpath d=%22M3 1a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V3a2 2 0 00-2-2zm14 12h-4l-1 2H8l-1-2H3V3h14z%22 fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-fullscreen-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E fullscreen %3C/title%3E%3Cg fill='%234c4c4c'%3E%3Cpath d='M1 1v6h2V3h4V1zm2 12H1v6h6v-2H3zm14 4h-4v2h6v-6h-2zm0-16h-4v2h4v4h2V1z'/%3E%3C/g%3E%3Cscript xmlns=''/%3E%3C/svg%3E"); --echo-icon-exitFullscreen-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E exit fullscreen %3C/title%3E%3Cg fill='%234c4c4c'%3E%3Cpath d='M7 7V1H5v4H1v2zM5 19h2v-6H1v2h4zm10-4h4v-2h-6v6h2zm0-8h4V5h-4V1h-2v6z'/%3E%3C/g%3E%3Cscript xmlns=''/%3E%3C/svg%3E"); } .vector-user-menu-legacy #pt-userpage a, .vector-user-menu-legacy #pt-anonuserpage { background-image: var(--echo-icon-person-bg-image); padding-top: 0; background-position-y: 0; } .vector-user-menu-legacy #pt-anonuserpage { color: var(--byline-color); } #pt-notifications-alert .mw-echo-notifications-badge, #pt-notifications-notice .mw-echo-notifications-badge { background-size: 75%; background-position: center 80%; background-repeat: no-repeat; opacity: unset; } #pt-notifications-alert .mw-echo-notifications-badge.mw-echo-notifications-badge-all-read, #pt-notifications-notice .mw-echo-notifications-badge.mw-echo-notifications-badge-all-read { opacity: unset; } #pt-notifications-alert .oo-ui-icon-bell { background-image: var(--echo-icon-bell-bg-image); } #pt-notifications-notice .oo-ui-icon-tray { background-image: var(--echo-icon-tray-bg-image); } #pt-fixed-width .oo-ui-icon-advanced { background-image: var(--echo-icon-exitFullscreen-bg-image); } body.wgl-fixedWidth #pt-fixed-width .oo-ui-icon-advanced { background-image: var(--echo-icon-fullscreen-bg-image); } #pt-theme-toggles .oo-ui-icon-advanced { background-image: var(--echo-icon-moon-bg-image); } #pt-anontalk { padding-top: 0.6em; } .tabber { display: inline-grid; } 13a07fc1f7c6aee6a695d7023cad1a9868cabf36 MediaWiki:Common.less 8 5 108 101 2024-03-22T04:23:30Z Jayden 3 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: @black; --byline-color: @tundora; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } e8027f38375b2cddf1501b75ce52d31a03076521 MediaWiki:Common.css 8 30 109 102 2024-03-22T04:23:34Z Jayden 3 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.75em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.75em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } bb33c3c6e5b4e64038bd28de845dca5d34761d48 Fisher 0 58 111 2024-03-22T04:39:11Z Jayden 3 Created page with "'''Fisher''' is a type of [[professions|profession]] which specialises in catching [[fish]]." wikitext text/x-wiki '''Fisher''' is a type of [[professions|profession]] which specialises in catching [[fish]]. fc655cd037c8105e93b5c6a286c178d9d0e21b60 Forager 0 59 112 2024-03-22T04:39:44Z Jayden 3 Created page with "'''Forager''' is a type of [[professions|profession]]." wikitext text/x-wiki '''Forager''' is a type of [[professions|profession]]. eb4d9bd3588ad399e061499c200f81c4d517e48c Chef 0 60 113 2024-03-22T04:40:06Z Jayden 3 Created page with "'''Chef''' is a type of [[professions|profession]] which allows the [[player]] to [[cooking|cook]] many different [[food]] items." wikitext text/x-wiki '''Chef''' is a type of [[professions|profession]] which allows the [[player]] to [[cooking|cook]] many different [[food]] items. ff9f946861a1c70132f6640395533921357ad439 Woodcutter 0 61 114 2024-03-22T04:40:13Z Jayden 3 Created page with "'''Woodcutter''' is a type of [[professions|profession]]." wikitext text/x-wiki '''Woodcutter''' is a type of [[professions|profession]]. 817b74387546c97e7e17770ffa3db623aa2ab9a9 Miner 0 62 115 2024-03-22T04:40:31Z Jayden 3 Created page with "'''Miner''' is a type of [[professions|profession]] specialising in collecting [[minerals]]." wikitext text/x-wiki '''Miner''' is a type of [[professions|profession]] specialising in collecting [[minerals]]. 653d200293ce25cbcc507ac47b9bca3cbed49185 Alchemist 0 63 116 2024-03-22T04:40:44Z Jayden 3 Created page with "'''Alchemist''' is a type of [[professions|profession]]." wikitext text/x-wiki '''Alchemist''' is a type of [[professions|profession]]. 3c3c4e114fb8b5f05e8983321ca045cfb0e63300 Stonemason 0 64 117 2024-03-22T04:41:04Z Jayden 3 Created page with "'''Stonemason''' is a type of [[professions|profession]]." wikitext text/x-wiki '''Stonemason''' is a type of [[professions|profession]]. 7e90476c9fa53e65b5da20160d647016edce8f05 Merchant 0 65 118 2024-03-22T04:41:12Z Jayden 3 Created page with "'''Merchant''' is a type of [[professions|profession]]." wikitext text/x-wiki '''Merchant''' is a type of [[professions|profession]]. 57c0b7943606ba1d310a26ba8af2ec3ed44f6a0e Blacksmith 0 66 119 2024-03-22T04:41:20Z Jayden 3 Created page with "'''Blacksmith''' is a type of [[professions|profession]]." wikitext text/x-wiki '''Blacksmith''' is a type of [[professions|profession]]. c12d60b0e351c3b2c7b1880ae2afbd5a353d53cf Sturlet 0 67 120 2024-03-22T14:14:28Z InvalidCards 4 Created page with "'''Sturlet''' is a type of [[fish]] that gives 7 experience in the [[Fisher]] profession per catch." wikitext text/x-wiki '''Sturlet''' is a type of [[fish]] that gives 7 experience in the [[Fisher]] profession per catch. 6718160ffdfc91f5fe3abf1da7b1e1ffa1d68f3b 131 120 2024-03-22T14:42:25Z InvalidCards 4 wikitext text/x-wiki {{Infobox Item |name=Sturlet |image=Sturlet.png |release=Soon }} '''Sturlet''' is a type of [[fish]] that gives 7 experience in the [[Fisher]] profession per catch. 7edd18571b3967d4e5e11c67a1d1fa2570133f29 Hopeport 0 68 121 2024-03-22T14:22:32Z Jayden 3 Created page with "'''Hopeport''' is a town in [[Brighter Shores]]. It serves as the main introductory town for new [[player]]s. ==Features== * A [[Hopeport Harbor|harbor]]" wikitext text/x-wiki '''Hopeport''' is a town in [[Brighter Shores]]. It serves as the main introductory town for new [[player]]s. ==Features== * A [[Hopeport Harbor|harbor]] 4da5e22731919023ef5025f7f78448ad7474a96c Cryoknight 0 69 122 2024-03-22T14:23:25Z Jayden 3 Created page with "'''Cryoknight''' is a [[class]] which specialises in using melee weapons in [[combat]]." wikitext text/x-wiki '''Cryoknight''' is a [[class]] which specialises in using melee weapons in [[combat]]. 7ed27f4ee2e2c86dfdc87d3309d22511cf211734 Guardian 0 70 123 2024-03-22T14:23:39Z Jayden 3 Created page with "'''Guardian''' is a [[class]] which specialises in using ranged weapons in [[combat]]." wikitext text/x-wiki '''Guardian''' is a [[class]] which specialises in using ranged weapons in [[combat]]. c8a428146980352741f61d56e13cd6f5309884f5 Hammermage 0 71 124 2024-03-22T14:23:51Z Jayden 3 Created page with "'''Hammermage''' is a [[class]] which specialises in using magic weapons in [[combat]]." wikitext text/x-wiki '''Hammermage''' is a [[class]] which specialises in using magic weapons in [[combat]]. 301d67878ee321c19916f33b7c77bb6ab5a3194a Factions 0 72 125 2024-03-22T14:28:43Z Jayden 3 Created page with "'''Classes''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. ==Classes== * The [[Cryoknight]] class is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]] * [[Guardian]]s use ranged combat, preferring to wield weapons like [[crossbow]]s * The [[Hammermage]] class fights using a mix of melee and magic" wikitext text/x-wiki '''Classes''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. ==Classes== * The [[Cryoknight]] class is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]] * [[Guardian]]s use ranged combat, preferring to wield weapons like [[crossbow]]s * The [[Hammermage]] class fights using a mix of melee and magic 4604cb74ae9c2300949776a4707d9c5f81bb7d04 Hopeforest 0 73 126 2024-03-22T14:30:44Z Jayden 3 Created page with "'''Hopeforest''' is a forest [[Locations|area]] that contains [[monster]]s, accessible to all [[player]]s." wikitext text/x-wiki '''Hopeforest''' is a forest [[Locations|area]] that contains [[monster]]s, accessible to all [[player]]s. b3218211bfba760de243eab9acfb7f8f3ceac8c3 Mine of Mantuban 0 74 127 2024-03-22T14:31:46Z Jayden 3 Created page with "'''Mine of Mantuban''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]." wikitext text/x-wiki '''Mine of Mantuban''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. dbd62954e527015ceb6e60b9e71acd56de35ac19 Crenopolis 0 75 128 2024-03-22T14:32:05Z Jayden 3 Created page with "'''Crenopolis''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]." wikitext text/x-wiki '''Crenopolis''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. f10594b6bdb8fcb4e50df7d6b0cba344ce626f03 Premium Pass 0 76 129 2024-03-22T14:35:44Z Jayden 3 Created page with "The '''Premium Pass''' is a type of membership that can be purchased using real money. It provides access to a number of new areas and features in [[Brighter Shores]]. ==Benefits== There are several benefits to purchasing a Premium Pass: * Access to the [[Mine of Mantuban]] and [[Crenopolis]] * Ability to choose a unique character name, and change your name at any point * Access to exclusive armour dyes * Ability to [[trade]] with other [[player]]s" wikitext text/x-wiki The '''Premium Pass''' is a type of membership that can be purchased using real money. It provides access to a number of new areas and features in [[Brighter Shores]]. ==Benefits== There are several benefits to purchasing a Premium Pass: * Access to the [[Mine of Mantuban]] and [[Crenopolis]] * Ability to choose a unique character name, and change your name at any point * Access to exclusive armour dyes * Ability to [[trade]] with other [[player]]s 8c3186585d6a8f4b288cd2f1f7b6f5bab0db63bc Template:Infobox Item 10 77 130 2024-03-22T14:41:41Z InvalidCards 4 for the love of god help me wikitext text/x-wiki <includeonly>{| class="wikitable" |+{{{name|}}} |- |colspan="2" style="text-align:center"|[[File:{{{image|}}}|30px]] |- |<b>Release date</b>||{{{release|Soon}}} |}</includeonly> 2c801f78c194a8776361df111bf5ec9f0ea358e5 132 130 2024-03-22T14:42:41Z InvalidCards 4 wikitext text/x-wiki <includeonly>{| class="wikitable" float:right |+{{{name|}}} |- |colspan="2" style="text-align:center"|[[File:{{{image|}}}|30px]] |- |<b>Release date</b>||{{{release|Soon}}} |}</includeonly> 0fd664c957b2747ec8cfa87bc30fd8f31e45ae5f 133 132 2024-03-22T14:42:47Z InvalidCards 4 wikitext text/x-wiki <includeonly>{| class="wikitable" float=right |+{{{name|}}} |- |colspan="2" style="text-align:center"|[[File:{{{image|}}}|30px]] |- |<b>Release date</b>||{{{release|Soon}}} |}</includeonly> e5b9edf8f1b57326175827f7ac54fd60c312384e 134 133 2024-03-22T14:43:21Z InvalidCards 4 told you i'm bad at css wikitext text/x-wiki <includeonly>{| class="wikitable" style="float:right" |+{{{name|}}} |- |colspan="2" style="text-align:center"|[[File:{{{image|}}}|30px]] |- |<b>Release date</b>||{{{release|Soon}}} |}</includeonly> fc40e5798ec63dc6c3f8051f2f24fac288f32d7a Leech Pools 0 78 135 2024-03-22T14:50:05Z InvalidCards 4 Created page with "The '''Leech Pools''' is a watery cave system." wikitext text/x-wiki The '''Leech Pools''' is a watery cave system. 56c1954afe63cf908d6821b8792e95fb422b8d4b Barricades 0 79 136 2024-03-22T14:51:52Z InvalidCards 4 Created page with "The '''Barricades''' is a location that leads into the [[Mine Entrance]], which is guarded by a [[barricade guard]]. The player must talk to [[Captain Jal Degreene]] as part of a quest in order to be allowed through." wikitext text/x-wiki The '''Barricades''' is a location that leads into the [[Mine Entrance]], which is guarded by a [[barricade guard]]. The player must talk to [[Captain Jal Degreene]] as part of a quest in order to be allowed through. 7d1234adfba58bfeb44f7db39b2bda2f8e28127d Tanners Road 0 80 137 2024-03-22T14:52:52Z InvalidCards 4 Created page with "'''Tanners Road''' is a road in [[Hopeport]]. It features various market stalls." wikitext text/x-wiki '''Tanners Road''' is a road in [[Hopeport]]. It features various market stalls. a06eb15de7f6607ef77eeec6592acbf187612227 Bone Vats 0 81 138 2024-03-22T14:53:42Z InvalidCards 4 Created page with "The '''Bone Vats''' is a location where players can craft items using bones." wikitext text/x-wiki The '''Bone Vats''' is a location where players can craft items using bones. 92be266759302ec9b041b6d06b06599f092bfd59 Goblin Marketplace 0 82 139 2024-03-22T14:54:22Z InvalidCards 4 Created page with "The '''Goblin Marketplace''' is a location where [[goblin]]s sell their wares." wikitext text/x-wiki The '''Goblin Marketplace''' is a location where [[goblin]]s sell their wares. 8ea4f0d31490c42f09af615c4c9a069b240873ea Cliffside Path 0 83 140 2024-03-22T14:55:57Z InvalidCards 4 Created page with "The '''Cliffside Path''' is a location. It is a wooded path, inhabited by giant spiders, with large cobwebs strewn about." wikitext text/x-wiki The '''Cliffside Path''' is a location. It is a wooded path, inhabited by giant spiders, with large cobwebs strewn about. 6f03e6515867746d7587b32b773c25d62dea93f0 Basic bacon 0 84 141 2024-03-22T14:57:57Z InvalidCards 4 Created page with "'''Basic Bacon''' is a food that can be created using the [[Chef]] profession. It can be obtained by frying raw bacon in a kitchen." wikitext text/x-wiki '''Basic Bacon''' is a food that can be created using the [[Chef]] profession. It can be obtained by frying raw bacon in a kitchen. dbf9cbc334e6ca4f0294e1a85ff35fa014bc80c5 Wailing Shade 0 85 142 2024-03-22T14:58:49Z InvalidCards 4 Created page with "'''Wailing Shades''' are monsters. They have 682 health." wikitext text/x-wiki '''Wailing Shades''' are monsters. They have 682 health. e0f58b52d9c907ffe7e6ce6cfec70b5ab25c1725 Melv's Fishing Supplies 0 86 143 2024-03-22T15:02:25Z InvalidCards 4 Created page with "'''Melv's Fishing Supplies''' is a [[Fisher]] shop run by [[Melv]]." wikitext text/x-wiki '''Melv's Fishing Supplies''' is a [[Fisher]] shop run by [[Melv]]. 46a1ca9beae6f6b1cadf40e05dc738570112cad7 Melv 0 87 144 2024-03-22T15:02:41Z InvalidCards 4 Created page with "'''Melv''' is the shop owner of [[Melv's Fishing Supplies]]." wikitext text/x-wiki '''Melv''' is the shop owner of [[Melv's Fishing Supplies]]. b3650cf5b2715d212ecfd5a977a9e39bc322f9ff Southeast Sewer 0 88 145 2024-03-22T15:05:11Z InvalidCards 4 Created page with "The '''Southeast Sewer''' is a location." wikitext text/x-wiki The '''Southeast Sewer''' is a location. 9cbced5e57f1d9e08fb1e3f0affb8d80a4b9bea7 The Delectable Dab Restaurant 0 89 146 2024-03-22T15:07:05Z InvalidCards 4 Created page with "'''The Delectable Dab Restaurant''' is a restaurant." wikitext text/x-wiki '''The Delectable Dab Restaurant''' is a restaurant. df02e68efcaed3d961394169e2b3120b8f3f67c6 Module:Edit button 828 90 147 2024-03-22T15:07:18Z Gau Cho 5 First module, ported from RSC/OS/RS3 Scribunto text/plain -- Creates a link that opens the editor screen for whatever page this module is invoked on return function(text) local page_title = mw.title.getCurrentTitle().fullText local url = tostring(mw.uri.fullUrl(page_title,'action=edit')) return '['..url..' '..(text or 'edit')..']' end ee5f096d5c2323b9b4d3e8224855a107c1445d38 Module:Yesno 828 91 148 2024-03-22T15:07:30Z Jayden 3 base cp from rsw Scribunto text/plain --[[ {{Helper module|name=Yesno |fname1=(arg) |ftype1=Any value |fuse1=Reads arg for yes/no and returns the appropriate boolean or nil |fname2=(arg1,arg2) |ftype2=Any value, Any value |fuse2=Reads arg1 for yes/no and returns the appropriate boolean; returns arg2 if arg1 was not an applicable value }} --]] -- <pre> -- Used to evaluate args to booleans where applicable -- -- Based on <https://en.wikipedia.org/wiki/Module:Yesno> -- see page history there for contributors -- return function( arg, default ) arg = type( arg ) == 'string' and arg:lower() or arg if arg == nil then return nil end if arg == true or arg == 'yes' or arg == 'y' or arg == 'true' or tonumber( arg ) == 1 then return true end if arg == false or arg == 'no' or arg == 'n' or arg == 'false' or tonumber( arg ) == 0 then return false end return default end 6a85dc6fc6ed91ab9be714ef0a244cb9e0b08b62 151 148 2024-03-22T15:08:29Z Jayden 3 Protected "[[Module:Yesno]]": High traffic page ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)) Scribunto text/plain --[[ {{Helper module|name=Yesno |fname1=(arg) |ftype1=Any value |fuse1=Reads arg for yes/no and returns the appropriate boolean or nil |fname2=(arg1,arg2) |ftype2=Any value, Any value |fuse2=Reads arg1 for yes/no and returns the appropriate boolean; returns arg2 if arg1 was not an applicable value }} --]] -- <pre> -- Used to evaluate args to booleans where applicable -- -- Based on <https://en.wikipedia.org/wiki/Module:Yesno> -- see page history there for contributors -- return function( arg, default ) arg = type( arg ) == 'string' and arg:lower() or arg if arg == nil then return nil end if arg == true or arg == 'yes' or arg == 'y' or arg == 'true' or tonumber( arg ) == 1 then return true end if arg == false or arg == 'no' or arg == 'n' or arg == 'false' or tonumber( arg ) == 0 then return false end return default end 6a85dc6fc6ed91ab9be714ef0a244cb9e0b08b62 Lani's Curiosities 0 92 149 2024-03-22T15:07:41Z InvalidCards 4 Created page with "'''Lani's Curiosities''' is a shop run by [[Lani]]." wikitext text/x-wiki '''Lani's Curiosities''' is a shop run by [[Lani]]. f94bf4dc268d3a1bd771f76c52e76de250cc4349 Lani 0 93 150 2024-03-22T15:07:54Z InvalidCards 4 Created page with "'''Lani''' is the owner of [[Lani's Curiosities]]." wikitext text/x-wiki '''Lani''' is the owner of [[Lani's Curiosities]]. 738a171fdd5894dea824d057318269b1b233dc54 Truck Cave 0 94 152 2024-03-22T15:08:41Z InvalidCards 4 Created page with "The '''Truck Cave''' is a cave filled with minecart rails." wikitext text/x-wiki The '''Truck Cave''' is a cave filled with minecart rails. 81b2f4de95ecaab2c62225815336a7820d99d80c Module:Tnavbar 828 95 153 2024-03-22T15:08:47Z Jayden 3 base cp from rsw Scribunto text/plain -- <nowiki> -- -- Implements {{tnavbar}} and variants -- -- @todo move the hardcoded css to [[MediaWiki:Common.css]] given how many pages it's found on -- require('strict') local p = {} local yesno = require( 'Module:Yesno' ) function p._navbar( args ) local navbarstyle = args.style or '' local fontstyle = args.fontstyle or '' local view, talk, edit = (args.view or true), (args.talk or true), (args.edit or true) local desc = { view = 'view', talk = 'talk', edit = 'edit' } local tag = mw.html.create( 'div' ) :addClass( 'navbar' ) :addClass( 'plainlinks' ) :addClass( 'noprint' ) :css( { ['white-space'] = 'nowrap', ['font-weight'] = 'normal', ['font-size'] = 'x-small' } ) :cssText( navbarstyle ) if yesno( args.mini ) then desc = { view = 'v', talk = 't', edit = 'e' } tag:addClass( 'navbar-mini' ) end local viewSpan = mw.html.create( 'span' ) :attr( 'title', 'View this template' ) :cssText( fontstyle ) :wikitext( desc.view ) local talkSpan = mw.html.create( 'span' ) :attr( 'title', 'Discussion about this template' ) :cssText( fontstyle ) :wikitext( desc.talk ) local editSpan = mw.html.create( 'span' ) :attr( 'title', 'Edit this template' ) :cssText( fontstyle ) :wikitext( desc.edit ) local title = args[1] and mw.text.trim( args[1] ) or error('No page title given') local ns, titleTbl, pagelink, talklink if mw.ustring.sub( title, 1, 1 ) == ':' then -- mainspace title = mw.ustring.sub( title, 2 ) pagelink = title talklink = 'Talk:' .. title elseif mw.ustring.match( title, ':' ) then -- split title to see if it has a valid namespace titleTbl = mw.text.split( title, ':' ) ns = mw.site.namespaces[titleTbl[1]] if ns ~= nil then pagelink = ns.name .. ':' .. table.concat( titleTbl, '', 2 ) if ns.isTalk then talklink = page else talklink = ns.talk.name .. ':' .. table.concat( titleTbl, '', 2 ) end end end -- this happens if there's no semi-colons in title -- or if there is semi-colons but it didn't have valid ns name if not pagelink then pagelink = 'Template:' .. title talklink = 'Template talk:' .. title end tag:wikitext( '[[' .. pagelink .. '|' .. tostring( viewSpan ) .. ']]' ) :wikitext( '&nbsp;' ) :tag( 'span' ) :css( 'font-size', '80%' ) :wikitext( '&bull;' ) :done() :wikitext( '&nbsp;' ) if talk == 'autoconfirmed' then tag :tag( 'span' ) :addClass( 'autoconfirmed-show' ) :css( 'display', 'none' ) :wikitext( '[' .. tostring( mw.uri.fullUrl( talklink ) ) .. ' ' .. tostring( talkSpan ) .. ']' ) :wikitext( '&nbsp;' ) :tag( 'span' ) :css( 'font-size', '80%' ) :wikitext( '&bull;' ) :done() :wikitext( '&nbsp;' ) :done() elseif yesno(talk) then tag:wikitext( '[' .. tostring( mw.uri.fullUrl( talklink ) ) .. ' ' .. tostring( talkSpan ) .. ']' ) :wikitext( '&nbsp;' ) :tag( 'span' ) :css( 'font-size', '80%' ) :wikitext( '&bull;' ) :done() :wikitext( '&nbsp;' ) :done() end tag:wikitext( '[' .. tostring( mw.uri.fullUrl( pagelink, 'action=edit' ) ) .. ' ' .. tostring( editSpan ) .. ']' ) return tostring( tag ) end function p.navbar( frame ) return p._navbar( frame:getParent().args ) end return p df6034b22c5de1489fe6808f793b507eb4ae7dd9 154 153 2024-03-22T15:08:55Z Jayden 3 Protected "[[Module:Tnavbar]]": High traffic page ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)) Scribunto text/plain -- <nowiki> -- -- Implements {{tnavbar}} and variants -- -- @todo move the hardcoded css to [[MediaWiki:Common.css]] given how many pages it's found on -- require('strict') local p = {} local yesno = require( 'Module:Yesno' ) function p._navbar( args ) local navbarstyle = args.style or '' local fontstyle = args.fontstyle or '' local view, talk, edit = (args.view or true), (args.talk or true), (args.edit or true) local desc = { view = 'view', talk = 'talk', edit = 'edit' } local tag = mw.html.create( 'div' ) :addClass( 'navbar' ) :addClass( 'plainlinks' ) :addClass( 'noprint' ) :css( { ['white-space'] = 'nowrap', ['font-weight'] = 'normal', ['font-size'] = 'x-small' } ) :cssText( navbarstyle ) if yesno( args.mini ) then desc = { view = 'v', talk = 't', edit = 'e' } tag:addClass( 'navbar-mini' ) end local viewSpan = mw.html.create( 'span' ) :attr( 'title', 'View this template' ) :cssText( fontstyle ) :wikitext( desc.view ) local talkSpan = mw.html.create( 'span' ) :attr( 'title', 'Discussion about this template' ) :cssText( fontstyle ) :wikitext( desc.talk ) local editSpan = mw.html.create( 'span' ) :attr( 'title', 'Edit this template' ) :cssText( fontstyle ) :wikitext( desc.edit ) local title = args[1] and mw.text.trim( args[1] ) or error('No page title given') local ns, titleTbl, pagelink, talklink if mw.ustring.sub( title, 1, 1 ) == ':' then -- mainspace title = mw.ustring.sub( title, 2 ) pagelink = title talklink = 'Talk:' .. title elseif mw.ustring.match( title, ':' ) then -- split title to see if it has a valid namespace titleTbl = mw.text.split( title, ':' ) ns = mw.site.namespaces[titleTbl[1]] if ns ~= nil then pagelink = ns.name .. ':' .. table.concat( titleTbl, '', 2 ) if ns.isTalk then talklink = page else talklink = ns.talk.name .. ':' .. table.concat( titleTbl, '', 2 ) end end end -- this happens if there's no semi-colons in title -- or if there is semi-colons but it didn't have valid ns name if not pagelink then pagelink = 'Template:' .. title talklink = 'Template talk:' .. title end tag:wikitext( '[[' .. pagelink .. '|' .. tostring( viewSpan ) .. ']]' ) :wikitext( '&nbsp;' ) :tag( 'span' ) :css( 'font-size', '80%' ) :wikitext( '&bull;' ) :done() :wikitext( '&nbsp;' ) if talk == 'autoconfirmed' then tag :tag( 'span' ) :addClass( 'autoconfirmed-show' ) :css( 'display', 'none' ) :wikitext( '[' .. tostring( mw.uri.fullUrl( talklink ) ) .. ' ' .. tostring( talkSpan ) .. ']' ) :wikitext( '&nbsp;' ) :tag( 'span' ) :css( 'font-size', '80%' ) :wikitext( '&bull;' ) :done() :wikitext( '&nbsp;' ) :done() elseif yesno(talk) then tag:wikitext( '[' .. tostring( mw.uri.fullUrl( talklink ) ) .. ' ' .. tostring( talkSpan ) .. ']' ) :wikitext( '&nbsp;' ) :tag( 'span' ) :css( 'font-size', '80%' ) :wikitext( '&bull;' ) :done() :wikitext( '&nbsp;' ) :done() end tag:wikitext( '[' .. tostring( mw.uri.fullUrl( pagelink, 'action=edit' ) ) .. ' ' .. tostring( editSpan ) .. ']' ) return tostring( tag ) end function p.navbar( frame ) return p._navbar( frame:getParent().args ) end return p df6034b22c5de1489fe6808f793b507eb4ae7dd9 File:Fenforge logo.png 6 96 155 2024-03-22T15:09:09Z ToofleBerry 6 Obtained from https://web.archive.org/web/20240113093704im_/https://www.solstrike.com/fenforge_logo.png wikitext text/x-wiki == Summary == Obtained from https://web.archive.org/web/20240113093704im_/https://www.solstrike.com/fenforge_logo.png 35d431bb3973baa4f4a3e3969999b3430e0cc82f Hopeport Obelisk 0 97 156 2024-03-22T15:09:31Z InvalidCards 4 Created page with "The '''Hopeport Obelisk''' is a location near [[Hopeport]]. It is likely that it will be used as a fast travel location." wikitext text/x-wiki The '''Hopeport Obelisk''' is a location near [[Hopeport]]. It is likely that it will be used as a fast travel location. c7e82e3f51867d4cd9502f74eb67a789a97a61b3 Module:Navbox 828 98 157 2024-03-22T15:09:35Z Jayden 3 base cp from rsw Scribunto text/plain -- <nowiki> -- -- Implements {{navbox}} -- local p = {} local tnavbar = require( 'Module:Tnavbar' ) local yesno = require( 'Module:Yesno' ) local page_title = mw.title.getCurrentTitle().fullText -- -- Helper for inserting a new row into the navbox -- -- @param tbl {mw.html table} -- @return tbl {mw.html table} -- local function insertRow( tbl ) return tbl:tag( 'tr' ) end -- -- Creates the navbox table -- -- @param args {table} -- @return tbl {mw.html table} -- local function createTbl( args ) local tbl = mw.html.create( 'table' ) tbl :addClass( yesno(args.subgroup, false) and 'navbox-subgroup' or 'navbox' ) :addClass( 'nowraplinks' ) if not yesno(args.subgroup, false) and ( args.state == 'collapsed' or args.state == 'uncollapsed' or args.state == 'autocollapse' or -- defaults to autocollapse args.state == nil ) then tbl:addClass( 'mw-collapsible' ) if args.state == 'collapsed' then tbl:addClass( 'mw-collapsed' ) elseif args.state == 'uncollapsed' then tbl:addClass('navbox-uncollapsed') else tbl:addClass( 'mw-collapsed' ) tbl:addClass( 'navbox-autocollapse' ) end end if yesno(args.collapsible, false) then tbl:addClass( 'navbox-collapsible' ) end if args.style then tbl:cssText( args.style ) end -- used by [[MediaWiki:Gadget-navbox-tracking.js]] for tracking purposes tbl:attr( { ['data-navbox-name'] = args.name } ) return tbl end -- -- Wrapper for [[Module:Tnavbar]] -- -- @param args {table} -- @return {mw.html table} -- local function navbar( args ) local div = mw.html.create( 'div' ) :css( { float = 'left', ['text-align'] = 'left' } ) :wikitext( tnavbar._navbar( { [1] = args.name, ['mini'] = true, ['talk'] = 'autoconfirmed' } ) ) return div end -- -- Creates the header (what you see when the navbox is collapsed) -- -- @param tbl {mw.html table} -- @param args {table} -- @return {mw.html table} -- local function header( tbl, args ) local div = insertRow( tbl ) :tag( 'th' ) :attr( 'colspan', '2' ) :addClass( 'navbox-title' ) :wikitext( args.name and tostring( navbar( args ) ) ) :tag('div') :addClass( 'navbox-title-name' ) :wikitext( args.title ) return div:allDone() end -- -- Inserts a row into the navbox -- -- @param tbl {mw.html table} -- @param gtitle {string} -- @param group {string} -- @param gtype {string} -- @param style {string} -- @return {mw.html table} -- local function row( tbl, gtitle, group, gtype, style, _name, subgroup ) local tr = insertRow( tbl ) local td if gtitle then td = tr :addClass( 'navbox-group' ) :tag( 'th' ) :addClass( 'navbox-group-title' ) :wikitext( gtitle ) :done() :tag( 'td' ) else td = tr :addClass( 'navbox-group' ) :addClass( 'navbox-group-split' ) :tag( 'td' ) :addClass( 'navbox-group-title-hidden' ) :attr( 'colspan', '0' ) :css( 'display', 'none' ) :done() :tag( 'td' ) :attr( 'colspan', '2' ) end --[[ List styling This is unlikely to be implemented in the near future due to it requiring extra css to work and mobile currently not supporting that css. As an example, it lets you do the following instead if using {{*}} all the time | group3 = * {{plink|foo}} * {{plink|bar}} * {{plink|baz}} ]] if mw.ustring.match( group, '^%s*%*' ) then td:newline() -- trim whitespace on bullets local spl = mw.text.split( group, '\n' ) for i = 1, #spl do spl[i] = mw.text.trim( spl[i] ) end group = '\n' .. table.concat( spl, '\n' ) end --local group2 = group --local group3 = group2 -- analytics --if _name then -- local name = mw.ustring.gsub(_name,' ','_') -- for v in mw.ustring.gmatch(group,'%[%[[^%]]+%]%]') do -- if mw.ustring.match(v,'%[%[File:.+|link=') then -- local link = mw.ustring.match(v,'|link=([^%]|]+)') -- if link then -- local linkrep = mw.ustring.gsub(link,'([%%%]%[%-^$*()+?])','%%%1') -- local _link = mw.ustring.gsub(link,' ','_') -- local newfile = mw.ustring.gsub(v,'|link='..linkrep,string.format('|link=https://oldschool.runescape.wiki/w/%s?f=%s',_link,name)) -- local w = mw.ustring.gsub(v,'([%%%]%[%-^$*()+?])','%%%1') -- group2 = mw.ustring.gsub(group2,w,newfile) -- end -- elseif mw.ustring.match(v,'%[%[Category:') then -- nothing -- else -- local link = mw.ustring.match(v,'%[%[([^%]|]+)') -- local txt = mw.ustring.match(v,'%|([^%]|]+)') or link -- local newlink = '' -- black links if current page -- if link == page_title then -- newlink = string.format('<b>%s</b>',txt) -- else -- local _link = mw.ustring.gsub(link or '',' ','_') -- newlink = string.format('[https://oldschool.runescape.wiki.com/w/%s?n=%s %s]',_link,name,txt) -- end -- local w = mw.ustring.gsub(v,'([%%%]%[%-^$*()+?])','%%%1') -- group2 = mw.ustring.gsub(group2,w,newlink) -- end -- end --[==[ fix [[these kind]]s of [[link]]s post analytics parse ]==] -- group3 = group2 -- for v in mw.ustring.gmatch(group2,'%[https://oldschool.runescape.wiki.com/w[^%]]-%]%a') do -- local rep = mw.ustring.gsub(v,'%]','') -- rep = rep..']' -- local w = mw.ustring.gsub(v,'([%%%]%[%-^$*()+?])','%%%1') -- group3 = mw.ustring.gsub(group2,w,rep) -- end --end td :addClass( 'navbox-list' ) :wikitext( group ) --group3 if gtype and mw.ustring.lower( gtype ) == 'subgroup' then td :addClass( 'navbox-parent' ) :css( { padding = '0' } ) end if style then td:cssText( style ) end return td:allDone() end -- -- Inserts a footer into the navbox -- -- @param tbl {mw.html table} -- @param args {table} -- @return {mw.html table} -- local function footer( tbl, args ) local th = insertRow( tbl ) :tag( 'th' ) :attr( 'colspan', '2' ) :addClass( 'navbox-footer' ) if args.fstyle then th:cssText( args.fstyle ) end if mw.ustring.match( args.footer, '^%s*%*' ) then th:newline() -- trim whitespace on bullets local spl = mw.text.split( args.footer, '\n' ) for i = 1, #spl do spl[i] = mw.text.trim( spl[i] ) end args.footer = table.concat( spl, '\n' ) th:addClass( 'navbox-list' ) end th:wikitext( args.footer ) return th:allDone() end -- -- Adds [[Category:Navbox templates]] to navbox template pages -- -- @return {string} -- local function categories() local title = mw.title.getCurrentTitle() local page = title.text local ns = title.nsText if ns == 'Template' then -- sort in category by pagename return '[[Category:Navbox templates| ' .. page .. ']]' else return '' end end -- -- Adds [[Template:Navbox/doc]] to navbox template pages -- -- @param args {table} -- @return {string} -- local function docs( args ) local frame = mw.getCurrentFrame() local title = mw.title.getCurrentTitle() local base = title.baseText local ns = title.nsText -- not if a subpage of [[Template:Navbox]] if base ~= 'Navbox' and -- in template ns ns == 'Template' and -- not a navbox group within a navbox not yesno(args.subgroup, false) and -- not a collapsible navbox within a navbox not yesno(args.collapsible, false) and -- not if the doc argument is not set to "yes" yesno(args.doc, false) then return frame:expandTemplate{ title = 'Navbox/doc' } else return '' end end -- -- Navbox method to allow it to be called by other modules -- -- @param _args {table} -- @return {string} -- function p._navbox( _args ) local args = {} local wkCss = '' local wkDiv = '' local j -- preserves parser function behaviour where an empty string is considered undefined -- or nil in lua's case for k, v in pairs( _args ) do if v ~= '' then args[k] = v end end local tbl = createTbl( args ) if not yesno(args.subgroup, false) then tbl = header( tbl, args ) end -- insert up to 25 rows for i = 1, 25 do j = tostring( i ) if args['group' .. j] then tbl = row( tbl, args['gtitle' .. j], args['group' .. j], args['gtype' .. j], args['style' .. j], args.name, args.subgroup ) else break end end if args.footer then tbl = footer( tbl, args ) end tbl = tostring( tbl ) local cats = '' if not yesno(args.subgroup, false) and not yesno(args.hidecat, false) then cats = categories() end local docs = docs( args ) return tbl .. cats .. docs end -- -- Main navbox method accessed through #invoke -- -- @param frame {table} -- @return {string} -- function p.navbox( frame ) local args = frame:getParent().args return p._navbox( args ) end return p -- </nowiki> 391669df59b02076c50c50572107a0566e400487 Template:Navbox 10 99 158 2024-03-22T15:10:00Z Jayden 3 base cp from rsw wikitext text/x-wiki {{#invoke:Navbox|navbox}}<noinclude>{{/doc}}</noinclude> a4b0f898f8be45a3059aafaf7f6fbe8d1223619e Sneaky Thief 0 100 159 2024-03-22T15:10:07Z InvalidCards 4 Created page with "'''Sneaky Thieves''' are a type of monster. They have 1,100 health." wikitext text/x-wiki '''Sneaky Thieves''' are a type of monster. They have 1,100 health. 2a2e837a22304f655b4ad1f3172209119e1d11e8 Quiet Grove 0 101 160 2024-03-22T15:10:41Z InvalidCards 4 Created page with "The '''Quiet Grove''' is a location. It has an entrance to a mine." wikitext text/x-wiki The '''Quiet Grove''' is a location. It has an entrance to a mine. 59d9ab16fe3bbe699025165f1ee6f5f1999f7bf4 Module:Infobox 828 102 161 2024-03-22T15:10:48Z Gau Cho 5 Created page with "--[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local Infobox = {} Infobox.__index = Infobox -- Infobox.__tostring = Infobox.tostring -- Edit button for unknown params local editbutton = require('Module:Edit button') local edit = editbutton("'''?''' (edit)") function Infobox.helloworld() mw.log('Hello world') return 'Hello world' end return Infobox -- </nowiki>" Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local Infobox = {} Infobox.__index = Infobox -- Infobox.__tostring = Infobox.tostring -- Edit button for unknown params local editbutton = require('Module:Edit button') local edit = editbutton("'''?''' (edit)") function Infobox.helloworld() mw.log('Hello world') return 'Hello world' end return Infobox -- </nowiki> ea28c14e0380a0de0a659e63f1af9826a28cb025 Template:Navbox/doc 10 103 162 2024-03-22T15:11:06Z Jayden 3 base cp from rsw wikitext text/x-wiki {{documentation|Template:Navbox}} {{invokes|Navbox|category=No}}<!----Do not add this category to *every* navbox added explicitly to {{Navbox}} at the end of documentation-----> __TOC__<!--Needed to prevent TOC appearing in the navbox itself if it has a heading.--> ==Usage== This template can be used to make a standard navigation box. It is intended for use within another template that standardises the title and contents of the box (see [[Template:Rune equipment]]). This template should not be used directly within articles, as it creates a maintenance burden to do so whenever the contents of the box have to be updated. ==Syntax== <pre> {{Navbox |state = uncollapsed, collapsed, plain, autocollapse (default) |name = mandatory - name of the template |style = optional - style for the whole table |title = mandatory - navbox header |gtitleN = optional - title of N-th group of items |styleN = optional - style for groupN; i.e. text-align |groupN = mandatory - list of groups of items |fstyle = optional - style for footer ; i.e. text-align |footer = optional - navbox footer }} </pre> * '''Groups:''' ** Groups of items can be added as parameters: ''group1'', ''group2'', ''group3'', ... up to ''groupN''. * '''Group title:''' Each group has its own title parameter: ''gtitle1'', ''gtitle2'', ''gtitle3'', ... up to ''gtitleN''. * '''Group style:''' Style may also be customised to each group in: ''style1'', ''style2'', ''style3'', ... up to ''styleN''. * '''Superscript:''' It is preferred to use superscript (<code><nowiki><sup></nowiki></code>) to denote variants of items that are already contained in the navbox. * '''Bullets:''' Create unordered lists with lines beginning with *. ==States== * '''Autocollapse:''' By default, the state of a navbox is "autocollapsed". This means that if the number of navboxes in a page exceeds the maximum allocation of the collapsible navboxes, then the remaining navboxes are collapsed automatically. For more information (or to change the setting), see [[MediaWiki:Gadget-autocollapse.js]]. ** Currently, the ''autocollapse'' allocation is '''<span style="color:red">2</span>'''. This means that if there are 3 navboxes in a page, the third and subsequent navboxes will be collapsed automatically. * '''Uncollapsed:''' Forces the navbox to be displayed. * '''Collapsed:''' The reverse of ''uncollapsed''. Forces the navbox to be hidden instead. ** Navboxes with a height of more than 300 pixels will also be collapsed automatically. For more information (or to change the setting), see [[MediaWiki:Gadget-autocollapse.js]]. * '''Plain:''' Removes the "show/hide" link. ==Sub-groups== * For larger navboxes, it may be necessary to include sub-groups within a particular group of items. It is also possible to collapsible navboxes within the parent navbox, see [[#Collapsible sub-groups|Collapsible sub-groups]]. * To create sub-groups within <code><nowiki>{{Navbox}}</nowiki></code>, certain parameters are to be included: ** The parent navbox group (i.e. ''group2'' in the example below) requires the type parameter (''gtype2 = subgroup''). ** The nested navbox (sub-group) requires the inclusion of the sub-group parameter (''subgroup = yes''). This enables the template to differentiate between the sub-group and the parent navbox. <pre>{{Navbox |name = |title = |gtitle1 = |group1 = |gtitle2 = |gtype2 = subgroup (mandatory) |group2 = {{Navbox |subgroup = yes (mandatory) |gtitle1 = |group1 = |gtitle2 = |group2 = }} }}</pre> ==Collapsible sub-groups== * For extremely long navboxes, it is recommended to use collapsible navboxes within the parent navbox. Further sub-groups can then be added to these collapsible navboxes. * To create collapsible sub-groups within <code><nowiki>{{Navbox}}</nowiki></code>, these parameters need to be included: ** The parent navbox is almost always uncollapsed (''state=uncollapsed''). ** The parent navbox group (i.e. ''group1'' in the example below) requires the type parameter (''gtype1 = subgroup''). ** The nested collapsible navbox requires the inclusion of the collapsible parameter (''collapsible = yes''). This enables the template to differentiate between the collapsible navbox and the parent navbox. ** The nested collapsible navbox is forcefully collapsed (''state=collapsed''). <pre>{{Navbox |state = uncollapsed |name = |gtype1 = subgroup |group1 = {{Navbox |collapsible = yes |state = collapsed |title = |gtitle1 = |group1 = |gtitle2 = |group2 = }} }}</pre> ==Use of images== * The use of images in navboxes is permitted, but please resize the images to keep them small. Inventory-sized images (25-30 pixels) are recommended. ** Use {{t|plink}} to create links with images. ** Use {{t|plinkp}} for any case where text is not desired after the link. ** Use {{t|chatl}} to link chatheads. ** Use {{t|Emote link}} to link emote icons. * Avoid using images in the main header of the navbox. Link and file share the same name <pre>{{plink|Item}}</pre> File name differs from the link <pre>{{plink|Item|pic=File}}</pre> Link and file share the same name, but different text is desired to display <pre>{{plink|Item|txt=Text}}</pre> File name differs from the link and different text is desired to display <pre>{{plink|Item|pic=File|txt=Text}}</pre> {|class="wikitable" |+ Examples !Code !Standard syntax |- |<code><nowiki>{{plink|Abyssal whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Abyssal whip]] [[Abyssal whip]]</nowiki></code> |- |<code><nowiki>{{plink|Granite maul|pic=Abyssal whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Granite maul]] [[Granite maul]]</nowiki></code> |- |<code><nowiki>{{plink|Abyssal whip|txt=Whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Abyssal whip]] [[Abyssal whip|Whip]]</nowiki></code> |- |<code><nowiki>{{plink|Granite maul|pic=Abyssal whip|txt=Whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Granite maul]] [[Granite maul|Whip]]</nowiki></code> |- |<code><nowiki>{{plinkp|Abyssal whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Abyssal whip]]</nowiki></code> |- |<code><nowiki>{{plinkp|Granite maul|pic=Abyssal whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Granite maul]]</nowiki></code> |- |} ==Categorising== Navboxes are useful for transcluding categories onto a large number of pages that share both a trait and the navigation box. For example: [[Template:Rune equipment]] transcludes [[:Category:Rune]] onto every page that uses it. There are 2 methods of categorising pages with navboxes: The preferred method is to use '''{{t|Ctg}}'''. This has the most simple rules but is the easiest to use. The other method is to use '''{{t|Mainonly|rules}}''' and provide more complex rules with parser functions. [[Template:Potions]] is an example of this: <pre> {{mainonly|{{#ifeq:{{lc:{{#sub:{{PAGENAME}}|-3}}}}|mix|[[Category:Barbarian mixes]]}}}} </pre> This code tells the template to add [[:Category:Barbarian mixes]] to pages only if their title ends with the string "mix". <code><nowiki>{{ctg|Barbarian mixes::ifmatches[mix]}}</nowiki></code> would '''not''' work here, because several pages include the substring "mix" in other locations, and they would be improperly categorised. Categorisation should only be used on a template for large-scale addition. For small numbers of pages it is simpler to directly add the category to each page. ==Examples== {{#ifeq:{{BASEPAGENAME}}|Navbox||To see the following navboxes in action, see [[Template:Navbox]].}} ===Single line navbox with centered list=== {{#ifeq:{{BASEPAGENAME}}|Navbox|{{Navbox |state = uncollapsed |name = Navbox |title = [[RuneScape:Sandbox|Single line navbox]] |style1 = text-align:center |group1 = * Lorem ipsum dolor sit amet * Consectetur adipisicing elit * sed do eiusmod tempor incididunt ut labore et dolore magna aliqua }}}} <pre>{{Navbox |name = |title = |style1 = text-align:center |group1 = }}</pre> ===Navbox with standard footer=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = uncollapsed |name = Navbox |title = [[RuneScape:Sandbox|Navbox with footer]] |style1 = text-align:center |group1 = * Lorem ipsum dolor sit amet * Consectetur adipisicing elit * sed do eiusmod tempor incididunt ut labore et dolore magna aliqua |footer = Centered footer }}}} <pre>{{Navbox |name = |title = |gtitle1 = |group1 = |footer = Centered footer }}</pre> ===Navbox with styled footer=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = uncollapsed |name = Navbox |title = [[RuneScape:Sandbox|Navbox with footer]] |style1 = text-align:center |group1 = * Lorem ipsum dolor sit amet * Consectetur adipisicing elit * sed do eiusmod tempor incididunt ut labore et dolore magna aliqua |fstyle = text-align:right |footer = Right-aligned footer }}}} <pre>{{Navbox |name = |title = |gtitle1 = |group1 = |fstyle = text-align:right |footer = Right-aligned footer }}</pre> ===Multiple line navbox=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = uncollapsed |name = Navbox |title = [[RuneScape:Sandbox|Multiple line navbox]] |gtitle1 = Group title 1 |group1 = Lorem ipsum dolor sit amet... |gtitle2 = Group title 2 |group2 = Consectetur adipisicing elit... |gtitle3 = Group title 3 |group3 = Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. }}}} <pre>{{Navbox |name = |title = |gtitle1 = Group title 1 |group1 = |gtitle2 = Group title 2 |group2 = |gtitle3 = Group title 3 |group3 = }}</pre> ===Collapsed navbox=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = collapsed |name = Navbox |title = [[RuneScape:Sandbox|Collapsed navbox]] |style1 = text-align:center |group1 = Lorem? }}}} <pre>{{Navbox |state = collapsed |name = |title = |style1 = text-align:center |group1 = }}</pre> ===Plain navbox with Tnavbar=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = plain |name = Navbox |title = [[RuneScape:Sandbox|Plain navbox with Tnavbar]] |style1 = text-align:center |group1 = [<small>[[RuneScape:Sandbox|show]]</small>]/[<small>[[RuneScape:Sandbox|hide]]</small>] links hidden (see Top-right corner). }}}} <pre>{{Navbox |state = plain |name = |title = |style1 = text-align:center |group1 = }}</pre> ===Plain navbox without Tnavbar=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = plain |title = [[RuneScape:Sandbox|Plain navbox without Tnavbar]] |style1 = text-align:center |group1 = [<small>[[RuneScape:Sandbox|show]]</small>]/[<small>[[RuneScape:Sandbox|hide]]</small>] links hidden (see Top-right corner).<br><small>[[RuneScape:Sandbox|v]] {{*}} [[RuneScape:Sandbox|d]] {{*}} [[RuneScape:Sandbox|e]]</small> links also hidden (see Top-left corner). This is done by removing the ''name'' parameter. }}}} <pre>{{Navbox |state = plain |title = |style1 = text-align:center |group1 = }}</pre> ===Complicated navbox=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = uncollapsed |name = Navbox |title = [[RuneScape:Sandbox|Complicated navbox]] |gtitle1 = Level 1 Title 1 |group1 = Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem eget nisi bibendum viverra a eget leo. Integer velit arcu, accumsan vel rhoncus eget, auctor a tellus. Nullam mollis turpis sollicitudin justo hendrerit ac volutpat nibh placerat. |gtitle2 = Level 1 Title 2 |group2 = Curabitur posuere vestibulum dolor, quis faucibus justo tristique in. Nulla facilisi. Nunc iaculis erat nec ligula rutrum vel porta dolor posuere. Maecenas venenatis sapien id sapien pellentesque mollis. |gtitle3 = Level 1 Title 3 |group3 = Sed ac sapien risus, in pharetra purus. |gtitle4 = Level 1 Title 4 |group4 = Curabitur eu metus elit, a eleifend est. Aliquam vestibulum mollis metus, ut facilisis justo tincidunt non. Donec vel felis ut purus molestie facilisis consectetur a est. Nulla velit nisi, aliquet at condimentum non, varius ac nibh. Praesent fringilla nisi nibh. Morbi quis dapibus nulla. |gtitle5 = Level 1 Title 5 |gtype5 = subgroup |group5 = {{Navbox |subgroup = yes |gtitle1 = Level 2 Title 1 |group1 = Nam cursus, leo sit amet congue porttitor, ante ligula mattis ante, ut rhoncus nisi augue eget mi. Etiam scelerisque, nunc et sagittis consequat, augue turpis gravida massa, quis blandit lectus orci vel sem. |gtitle2 = Level 2 Title 2 |group2 = Aliquam tortor est, luctus et consectetur eget, dapibus lobortis ante. |gtitle3 = Level 2 Title 3 |gtype3 = subgroup |group3 = {{Navbox |subgroup = yes |gtitle1 = Level 3 Title 1 |group1 = Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vestibulum eu lacus ut sapien tristique fringilla tincidunt vitae risus. |gtitle2 = Level 3 Title 2 |group2 = Donec in libero lorem. Vestibulum consequat tincidunt imperdiet. }} |gtitle4 = Level 2 Title 4 |group4 = Vivamus odio mi, ullamcorper vitae rutrum sed, bibendum vel mauris. Proin sed libero ac sapien pellentesque dapibus. Nulla et ipsum libero. Integer vitae euismod eros. Ut enim purus, consectetur congue fermentum nec, pharetra non dui. Mauris mollis sapien at massa commodo rutrum. Donec non risus ut dui ultrices molestie non a quam. }} |gtitle6 = Level 1 Title 6 |group6 = Duis vel ligula tellus, sed rutrum augue. Cras varius consectetur ligula, vitae accumsan nisl vehicula vitae. Integer mi nunc, cursus sit amet mattis vitae, porta nec ligula. |gtitle7 = Level 1 Title 7 |group7 = Etiam vulputate nisl eget sapien mattis ultrices. Vestibulum et eros vitae arcu condimentum porta. Cras fringilla, erat quis consequat sollicitudin, est tortor tempor massa, quis euismod risus nisi vel massa. Phasellus in risus ac metus pharetra sodales vel at velit. Nulla ullamcorper, orci ac ultrices sollicitudin, ante erat scelerisque eros, auctor pretium felis nibh bibendum purus. |fstyle = text-align:right |footer = Quisque ut nisl arcu. Integer tincidunt, turpis pharetra consectetur consectetur, felis ipsum sagittis turpis, vel interdum eros mauris sed odio. <br> Aenean scelerisque rhoncus leo, a cursus neque vehicula sed. }}}} <pre>{{Navbox |state = uncollapsed |name = |title = |gtitle1 = Level 1 Title 1 |group1 = |gtitle2 = Level 1 Title 2 |group2 = |gtitle3 = Level 1 Title 3 |group3 = |gtitle4 = Level 1 Title 4 |group4 = |gtitle5 = Level 1 Title 5 |gtype5 = subgroup |group5 = {{Navbox |subgroup = yes |gtitle1 = Level 2 Title 1 |group1 = |gtitle2 = Level 2 Title 2 |group2 = |gtitle3 = Level 2 Title 3 |gtype3 = subgroup |group3 = {{Navbox |subgroup = yes |gtitle1 = Level 3 Title 1 |group1 = |gtitle2 = Level 3 Title 2 |group2 = }} |gtitle4 = Level 2 Title 4 |group4 = }} |gtitle6 = Level 1 Title 6 |group6 = |gtitle7 = Level 1 Title 7 |group7 = |fstyle = |footer = }}</pre> ==Preventing unwanted documentation== The [[Template:Navbox/doc|Navbox template's documentation]] is automatically transcluded under the navbox on any Template namespace page. It is not transcluded when used as a sub-group or collapsible sub-group template (''subgroup= yes'' or ''collapsible=yes''). Should the documentation appear when it is unwanted, it can be hidden by setting the doc parameter ''doc=no'' on the template. In most cases, the doc parameter is not used and the parameter is removed completely. On a similar note, the automatically-added category [[:Category:Navbox templates]] can be suppressed by adding ''hidecat=yes''. <noinclude>[[Category:Navbox templates|*{{PAGENAME}}]]</noinclude> <includeonly> {{#ifeq:{{PAGENAME}}|Navbox|[[Category:Lua-based templates]]}}<!--- This should be kept separate to prevent *every* nav box from Being marked as Lua based, simply for the sake of keeping the category easy to navigate ----> </includeonly> 3ed41c5e20586a935d9860285d6d73d2d00b7312 Alchemist 0 63 163 116 2024-03-22T15:11:18Z InvalidCards 4 wikitext text/x-wiki '''Alchemist''' is a type of [[professions|profession]]. [[Category:Professions]] 7fcd1c08e1bacff1eb5ff725c39716368d80a471 User:Gau Cho 2 104 164 2024-03-22T15:11:18Z Gau Cho 5 Created page with " {{#invoke:Infobox|helloworld}}" wikitext text/x-wiki {{#invoke:Infobox|helloworld}} b6c53f36364708fbb516fb38ea674a67f49d53f2 Template:Invokes 10 105 165 2024-03-22T15:11:27Z Jayden 3 base cp from rsw wikitext text/x-wiki <includeonly>{{#ifeq:{{NAMESPACE}}|Module|<div class="seealso">'''''{{#replace:{{FULLPAGENAME}}|/doc}}''' is invoked by [[{{{page|Template:{{{1}}}}}}]].{{#ifeq:{{lc:{{{category}}}}}|no||{{#ifeq:{{SUBPAGENAME}}|doc||[[Category:Template invoked modules]]}}}}''</div>|<div class="seealso">'''''{{#replace:{{FULLPAGENAME}}|/doc}}''' invokes [[Module:{{{1}}}]] using [[RuneScape:Lua|Lua]].{{#ifeq:{{lc:{{{category}}}}}|no||{{#ifeq:{{SUBPAGENAME}}|doc||[[Category:Lua-based templates]]}}}}''</div>}}</includeonly><noinclude>{{/doc}}</noinclude> 737f9999ad231b979c3d77e17f7119fe90315085 Template:Invokes/doc 10 106 166 2024-03-22T15:11:42Z Jayden 3 base cp from rsw wikitext text/x-wiki {{Documentation}} This template should be put near the beginning of a template or module's documentation page to link to a module that the template invokes, or a template that invokes the module (respectively). <pre> {{Invokes|ModuleName}} or {{Invokes|TemplateName}} </pre> ==Parameters== ===(1)=== On a template documentation page, this parameter should be supplied with the page title for a module that the template invokes (without the "Module:" namespace prefix).<br> For example: <pre>{{Invokes|Sandbox}}</pre> Result (if on the [[{{#replace:{{FULLPAGENAME}}|/doc}}]] page): {{Invokes|Sandbox|category=no}} On a module documentation page, this parameter should be supplied with the page title for a template that invokes the module (without the "Template:" namespace prefix).<br> For example: <pre>{{Invokes|Sandbox}}</pre> Result (if on the [[Module:Sandbox]] page): <div class="seealso">'''''Module:Sandbox''' is invoked by [[Template:Sandbox]].''</div> ===page=== Optional parameter for use on module documentation pages. It allows overriding the default behaviour (linking to <code><nowiki>[[Template:{{{1}}}]]</nowiki></code>) to instead link to a template page that's outside of the Template namespace. The parameter should be supplied with the full page title, including any namespace prefix. For example: <pre>{{Invokes|page=Calculator:Skill calculators/Template}}</pre> Result (if on the [[Module:Skill calc]] page): <div class="seealso">'''''Module:Skill calc''' is invoked by Calculator:Skill calculators/Template.''</div> <includeonly>[[Category:Transclusion templates]]</includeonly> 53498ace478044b97e6e41a5beb25e0af43ad717 Professions 0 56 167 98 2024-03-22T15:11:47Z InvalidCards 4 wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. ==List of professions== {| class="wikitable" ! Name !! Uses |- | [[Fisher]] || Catching various [[fish]] |- | [[Forager]] || Gathering items |- | [[Chef]] || Cooking [[food]] items |- | [[Woodcutter]] || Chopping down [[tree]]s |- | [[Miner]] || Mining [[mineral]]s |- | [[Alchemist]] || |- | [[Stonemason]] || |- | [[Merchant]] || |- | [[Blacksmith]] || |} [[Category:Professions|#]] 007498cf2878978a6995758141d601dca06510dc Category:Transclusion templates 14 107 168 2024-03-22T15:12:10Z Jayden 3 Created page with "[[Category:Templates]]" wikitext text/x-wiki [[Category:Templates]] 06eecdec29f6cb215c99cf216d1e3bdc8c30a95e Category:Templates 14 108 169 2024-03-22T15:12:31Z Jayden 3 Created page with "{{Categoryheader|pages|templates. This is the base category for '''templates'''. Templates should be placed in appropriate sub-categories, and should not appear here. See [[RuneScape:Templates]] for collated information on templates. ==Categorising templates== Templates themselves can be categorised - without affecting the pages that call them - by putting the category link inside '''<code><nowiki><noinclude></noinclude></nowiki></code>''' tags <nowiki><noinclude>Ca..." wikitext text/x-wiki {{Categoryheader|pages|templates. This is the base category for '''templates'''. Templates should be placed in appropriate sub-categories, and should not appear here. See [[RuneScape:Templates]] for collated information on templates. ==Categorising templates== Templates themselves can be categorised - without affecting the pages that call them - by putting the category link inside '''<code><nowiki><noinclude></noinclude></nowiki></code>''' tags <nowiki><noinclude>[[Category:</nowiki>'''category name'''<nowiki>|{{PAGENAME}}]]</noinclude></nowiki> The "noinclude" tags specify that the link applies only to the template, and is not included during transclusion||}} [[Category:Maintenance]] 2a465f7e1c7f615bc9bded5e1bce8038807a2288 180 169 2024-03-22T15:13:23Z Jayden 3 wikitext text/x-wiki {{Categoryheader|pages|templates. This is the base category for '''templates'''. Templates should be placed in appropriate sub-categories, and should not appear here. ==Categorising templates== Templates themselves can be categorised - without affecting the pages that call them - by putting the category link inside '''<code><nowiki><noinclude></noinclude></nowiki></code>''' tags <nowiki><noinclude>[[Category:</nowiki>'''category name'''<nowiki>|{{PAGENAME}}]]</noinclude></nowiki> The "noinclude" tags specify that the link applies only to the template, and is not included during transclusion||}} [[Category:Maintenance]] f35a935456f57cec30db02cc2115f1df38568c4a Category:Professions 14 109 170 2024-03-22T15:12:36Z InvalidCards 4 Created page with "This category contains pages related to [[professions]]." wikitext text/x-wiki This category contains pages related to [[professions]]. c5e77c8f690ba018b89ba5b70f12104def38ada9 184 170 2024-03-22T15:15:37Z InvalidCards 4 wikitext text/x-wiki {{Categoryheader|pages|[[professions]]}} [[Category:Content]] 0dd1d416d7d350b0a4d4c033314d01061e63eb04 Template:Categoryheader 10 110 171 2024-03-22T15:12:47Z Jayden 3 Created page with "<includeonly>This category contains {{{1}}}{{#if:{{{2|}}}|{{#ifeq:{{lc:{{{related|}}}}}|no||&#32;related to}}&#32;{{{2}}}}}. {{#if:{{{3|}}}|This category is automatically added by {{{4}}}.}}</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>This category contains {{{1}}}{{#if:{{{2|}}}|{{#ifeq:{{lc:{{{related|}}}}}|no||&#32;related to}}&#32;{{{2}}}}}. {{#if:{{{3|}}}|This category is automatically added by {{{4}}}.}}</includeonly><noinclude>{{/doc}}</noinclude> af0667e25c0b93315e78c59bd9b0eda732c8d8e2 Fisher 0 58 172 111 2024-03-22T15:12:59Z InvalidCards 4 wikitext text/x-wiki '''Fisher''' is a type of [[professions|profession]] which specialises in catching [[fish]]. [[Category:Professions]] 8fdd255862bd39cf00942a810958feea45fb5df8 Forager 0 59 173 112 2024-03-22T15:13:02Z InvalidCards 4 wikitext text/x-wiki '''Forager''' is a type of [[professions|profession]]. [[Category:Professions]] 71117588ed6e3e36651b98e1f9cd44b8a3fe5b30 Template:Categoryheader/doc 10 111 174 2024-03-22T15:13:04Z Jayden 3 Created page with "{{Documentation}} This template displays a standardised sentence to be used on all category pages. ==Usage== This template can be used by entering the following onto a category page. <pre>{{Categoryheader|1|2|3|4}}</pre> The "related to" in the template's output can be suppressed by adding <code>related=no</code> as a parameter to the template. ==Example== <pre>{{Categoryheader|pages|the [[Theatre of Blood]]|yes|[[Template:Theatre of Blood]]}}</pre> {{Categoryheader..." wikitext text/x-wiki {{Documentation}} This template displays a standardised sentence to be used on all category pages. ==Usage== This template can be used by entering the following onto a category page. <pre>{{Categoryheader|1|2|3|4}}</pre> The "related to" in the template's output can be suppressed by adding <code>related=no</code> as a parameter to the template. ==Example== <pre>{{Categoryheader|pages|the [[Theatre of Blood]]|yes|[[Template:Theatre of Blood]]}}</pre> {{Categoryheader|pages|the [[Theatre of Blood]]|yes|[[Template:Theatre of Blood]]}} {{TemplateData|<templatedata> { "params": { "1": { "label": "Content type", "description": "This parameter will accept whether the category contains any combination of pages, images, and/or subcategories.", "type": "string", "required": true, "example": "pages and files", "suggested": true }, "2": { "label": "Subject", "description": "This parameter will accept the subject of the category.", "type": "string", "required": true, "suggested": true }, "3": { "label": "Automatically added", "description": "This parameter will accept the word 'yes', if the category in question is automatically added to a page via a template. Leave this parameter blank if the category is not automatically added.", "type": "boolean", "suggested": true }, "4": { "label": "Added by", "description": "This parameter will accept the names of the templates that automatically are added by a template. This parameter will only display if the third parameter is 'yes'.", "type": "string", "suggested": true }, "related": { "label": "Suppress \"related to\"", "description": "Set to \"no\" to suppress the \"related to\" text that is otherwise shown between \"Content type\" and \"Subject\"", "type": "boolean" } }, "format": "inline", "description": "This template displays a standardised sentence to be used on all category pages." } </templatedata>}} <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> 75499e1713c892e9baf3d9196bbcf318a2f30858 182 174 2024-03-22T15:14:42Z Jayden 3 change boilerplate wikitext text/x-wiki {{Documentation}} This template displays a standardised sentence to be used on all category pages. ==Usage== This template can be used by entering the following onto a category page. <pre>{{Categoryheader|1|2|3|4}}</pre> The "related to" in the template's output can be suppressed by adding <code>related=no</code> as a parameter to the template. ==Example== <pre>{{Categoryheader|pages|[[Professions]]|yes|[[Template:Professions]]}}</pre> {{Categoryheader|pages|[[Professions]]|yes|[[Template:Professions]]}} {{TemplateData|<templatedata> { "params": { "1": { "label": "Content type", "description": "This parameter will accept whether the category contains any combination of pages, images, and/or subcategories.", "type": "string", "required": true, "example": "pages and files", "suggested": true }, "2": { "label": "Subject", "description": "This parameter will accept the subject of the category.", "type": "string", "required": true, "suggested": true }, "3": { "label": "Automatically added", "description": "This parameter will accept the word 'yes', if the category in question is automatically added to a page via a template. Leave this parameter blank if the category is not automatically added.", "type": "boolean", "suggested": true }, "4": { "label": "Added by", "description": "This parameter will accept the names of the templates that automatically are added by a template. This parameter will only display if the third parameter is 'yes'.", "type": "string", "suggested": true }, "related": { "label": "Suppress \"related to\"", "description": "Set to \"no\" to suppress the \"related to\" text that is otherwise shown between \"Content type\" and \"Subject\"", "type": "boolean" } }, "format": "inline", "description": "This template displays a standardised sentence to be used on all category pages." } </templatedata>}} <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> d79a0a9c1f6199377b1b06ed5528120bbfb9c411 Chef 0 60 175 113 2024-03-22T15:13:05Z InvalidCards 4 wikitext text/x-wiki '''Chef''' is a type of [[professions|profession]] which allows the [[player]] to [[cooking|cook]] many different [[food]] items. [[Category:Professions]] 2d437cd5d1a7063af03b58a67260221a65e66ae9 Woodcutter 0 61 176 114 2024-03-22T15:13:09Z InvalidCards 4 wikitext text/x-wiki '''Woodcutter''' is a type of [[professions|profession]]. [[Category:Professions]] 0eabb6e0b14e1a7b5bfdc1ef0a56a9c4a32e835c Miner 0 62 177 115 2024-03-22T15:13:13Z InvalidCards 4 wikitext text/x-wiki '''Miner''' is a type of [[professions|profession]] specialising in collecting [[minerals]]. [[Category:Professions]] 0fcc0a316548e9654e97a60bc2342b65df6f3f12 Stonemason 0 64 178 117 2024-03-22T15:13:16Z InvalidCards 4 wikitext text/x-wiki '''Stonemason''' is a type of [[professions|profession]]. [[Category:Professions]] 302760ecb9fc2e7fd8fc1b3d9b0517b46142f7ce Merchant 0 65 179 118 2024-03-22T15:13:19Z InvalidCards 4 wikitext text/x-wiki '''Merchant''' is a type of [[professions|profession]]. [[Category:Professions]] 8f870ab5874d645efe5c742a51140d439d34b20e Blacksmith 0 66 181 119 2024-03-22T15:13:23Z InvalidCards 4 wikitext text/x-wiki '''Blacksmith''' is a type of [[professions|profession]]. [[Category:Professions]] 099d380cdc82f9af6164241823eb10174d12e26a Category:Maintenance 14 112 183 2024-03-22T15:15:24Z Jayden 3 Created page with "{{Categoryheader|pages|general wiki maintenance}}" wikitext text/x-wiki {{Categoryheader|pages|general wiki maintenance}} 5b1a0eaa6d8eec1ef969ffceee78461d7952c026 Category:Content 14 113 185 2024-03-22T15:16:15Z InvalidCards 4 Created page with "{{Categoryheader|pages, images, and subcategories|''[[Brighter Shores]]''. Sub-categories should be added to this category, and all pages and images should be in a subcategory of this||}} [[Category:Brighter Shores Wiki]]" wikitext text/x-wiki {{Categoryheader|pages, images, and subcategories|''[[Brighter Shores]]''. Sub-categories should be added to this category, and all pages and images should be in a subcategory of this||}} [[Category:Brighter Shores Wiki]] 8d0acb8d6cf350fc8ca65310dc4eef08a6ccb778 Category:Brighter Shores Wiki 14 114 186 2024-03-22T15:16:57Z InvalidCards 4 Created page with "<!-- THIS CATEGORY IS SUPPOSED TO BE LEFT UNCATEGORISED. Please do not add any categories to this page. It is the top level category and belongs on the Special page for uncategorised categories --> This category contains pages, images, and subcategories related to the Brighter Shores Wiki. This is the '''top-level category''', or the '''root category'''. * The "Content" category is intended for all articles about the subject matter of the wiki. * A full list of exist..." wikitext text/x-wiki <!-- THIS CATEGORY IS SUPPOSED TO BE LEFT UNCATEGORISED. Please do not add any categories to this page. It is the top level category and belongs on the Special page for uncategorised categories --> This category contains pages, images, and subcategories related to the Brighter Shores Wiki. This is the '''top-level category''', or the '''root category'''. * The "Content" category is intended for all articles about the subject matter of the wiki. * A full list of existing categories can be found at [[Special:Categories]]. To add a new category to a page, just add <code><nowiki>[[Category:Categoryname]]</nowiki></code> to the end of the article or existing category page. Ideally, this category should not contain any pages, and should only contain sub-categories. Every other category should be a sub-category of at least one other, and every article should be in at least one category; many will fit well into two or more categories (i.e. location and subject-matter). 4d89e69f9799d0e76a7dcae249239427a103c4bb Main Page 0 4 187 70 2024-03-22T15:17:25Z InvalidCards 4 wikitext text/x-wiki {{Main Page/Header}} <div class="mainpage-body"> {{Main Page/Contents}} </div> [[Category:Brighter Shores Wiki]] f10dc04a0cbb5c2e7f2e7de2886ba2a783f7536b Template:Professions 10 115 188 2024-03-22T15:17:38Z Jayden 3 Created page with "{{Navbox |name = Professions |title = [[Professions]] |group1 = * [[Fisher]] * [[Forager]] * [[Chef]] * [[Woodcutter]] * [[Miner]] * [[Alchemist]] * [[Stonemason]] * [[Merchant]] * [[Blacksmith]] }}{{Ctg|Professions}}" wikitext text/x-wiki {{Navbox |name = Professions |title = [[Professions]] |group1 = * [[Fisher]] * [[Forager]] * [[Chef]] * [[Woodcutter]] * [[Miner]] * [[Alchemist]] * [[Stonemason]] * [[Merchant]] * [[Blacksmith]] }}{{Ctg|Professions}} db28a96d7722e4a67cdbfd629c64b5818e9a4034 Template:Ctg 10 116 189 2024-03-22T15:17:53Z Jayden 3 Created page with "{{{{{|safesubst:}}}#invoke:Category handler|main}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{{{{|safesubst:}}}#invoke:Category handler|main}}<noinclude>{{/doc}}</noinclude> 2582b1fa978320259a7df38ee159c8c332e15fc6 Module:Paramtest 828 117 190 2024-03-22T15:18:15Z Jayden 3 Created page with "--[[ {{Helper module |name=Paramtest |fname1 = is_empty(arg) |ftype1 = String |fuse1 = Returns true if arg is not defined or contains only whitespace |fname2 = has_content(arg) |ftype2 = String |fuse2 = Returns true if arg exists and does not only contain whitespace |fname3 = default_to(arg1,arg2) |ftype3 = String, Any value |fuse3 = If arg1 exists and does not only contain whitespace, the function returns arg1, otherwise returns arg2 |fname4 = defaults{ {arg1,arg2},...}..." Scribunto text/plain --[[ {{Helper module |name=Paramtest |fname1 = is_empty(arg) |ftype1 = String |fuse1 = Returns true if arg is not defined or contains only whitespace |fname2 = has_content(arg) |ftype2 = String |fuse2 = Returns true if arg exists and does not only contain whitespace |fname3 = default_to(arg1,arg2) |ftype3 = String, Any value |fuse3 = If arg1 exists and does not only contain whitespace, the function returns arg1, otherwise returns arg2 |fname4 = defaults{ {arg1,arg2},...} |ftype4 = {String, Any value}... |fuse4 = Does the same as <code>default_to()</code> run over every table passed; for technical reasons, all <code>nil</code> are replaced with <code>false</code> }} --]] -- -- Tests basic properties of parameters -- local p = {} -- -- Tests if the parameter is empty, all white space, or undefined -- function p.is_empty(arg) return not string.find(arg or '', '%S') end -- -- Returns the parameter if it has any content, the default (2nd param) -- function p.default_to(arg, default) if string.find(arg or '', '%S') then return arg else return default end end -- -- Returns a list of paramaters if it has any content, or the default -- function p.defaults(...) local ret = {} for i, v in ipairs(...) do if string.find(v[1] or '', '%S') then table.insert(ret,v[1]) else -- or false, because nil is removed table.insert(ret,v[2] or false) end end return unpack(ret) end -- -- Tests if the parameter has content -- The same as !is_empty, but this is more readily clear -- function p.has_content(arg) return string.find(arg or '', '%S') end -- -- uppercases first letter -- function p.ucfirst(arg) if not arg or arg:len() == 0 then return nil elseif arg:len() == 1 then return arg:upper() else return arg:sub(1,1):upper() .. arg:sub(2) end end -- -- uppercases first letter, lowercases everything else -- function p.ucflc(arg) if not arg or arg:len() == 0 then return nil elseif arg:len() == 1 then return arg:upper() else return arg:sub(1,1):upper() .. arg:sub(2):lower() end end return p cfa20dcb7af37a9dea2d5bb367b11815f5ec675f Barricades 0 79 191 136 2024-03-22T15:18:24Z InvalidCards 4 wikitext text/x-wiki The '''Barricades''' is a location that leads into the [[Mine Entrance]], which is guarded by a [[barricade guard]]. The player must talk to [[Captain Jal Degreene]] as part of a quest in order to be allowed through. [[Category:Locations]] 2f9e17b62f81d459c452336a76842a2ab2fbdba9 Module:Category handler 828 118 192 2024-03-22T15:18:34Z Jayden 3 Created page with "--[=[ <pre> -- Implements [Template:Ctg] -- Sorts pages into a category more appropriately than pagename alone -- Default and custom rules are outlined at [[Template:Category handler/doc]] --]=] local p = {} local ucf = require('Module:Paramtest').ucfirst local curpage = mw.title.getCurrentTitle() function p.main(frame) local ns = curpage.namespace -- Just don't bother unless we're in content namespaces if not (ns == 0 or ns == 120 or ns == 116) then return ''..." Scribunto text/plain --[=[ <pre> -- Implements [Template:Ctg] -- Sorts pages into a category more appropriately than pagename alone -- Default and custom rules are outlined at [[Template:Category handler/doc]] --]=] local p = {} local ucf = require('Module:Paramtest').ucfirst local curpage = mw.title.getCurrentTitle() function p.main(frame) local ns = curpage.namespace -- Just don't bother unless we're in content namespaces if not (ns == 0 or ns == 120 or ns == 116) then return '' end local args = frame:getParent().args local cats = {} for _, v in ipairs(args) do local cat_x = {} -- Replace underscores with spaces -- Condense and trim white-space; remove new lines (just in case) v = mw.text.trim(v) :gsub('[_%s]+',' ') :gsub('\n','') -- Snip category name now, up to the index of the first set of two colons -- If no colons, just use the whole string local cat_n = (v:match('^([^:]+)::') or v) :gsub('[Cc]ategory:%s*','') -- Set category name to the name just snipped cat_x.name = cat_n -- Page title includes matched text -- Matched text is defined by ::ifmatches[text] -- or if empty, defaults to category name if v:find('::ifmatches') then -- Look for brackets used as delimiters and capture them all local match_set = v:match('::ifmatches(%[[^:]+%])') -- If none are found, use the pagename if not match_set then cat_x.ifmatch = {cat_n} else cat_x.ifmatch = {} -- Split match into table, delimited by brackets match_set = mw.text.split(match_set,'[%]%[]+') -- Add to match table; only if not blank -- An empty string is created by "[" at the beginning for _, w in ipairs(match_set) do if w:find('%S') then table.insert(cat_x.ifmatch,w) end end end -- Iterate through and escape all metacharacters -- Prevents errors when they're passed to string.match() below -- Make everything lowercase for i, w in ipairs(cat_x.ifmatch) do cat_x.ifmatch[i] = w:gsub( -- Chars: - ^ $ * ( ) + ? '([%-^$*()+?])', '%%%1'):lower() end end -- Text to strip from the front of the sort -- Can be user defined with ::remove[text] -- Defaults to category name exactly -- Escape metacharacters to prevent errors when they're passed to string.match() below cat_x.trim = string.gsub( v:match('::remove%[%s*([^]:]+)%s*%]') or cat_n, -- Chars: - ^ $ * ( ) + ? '([%-^$*()+?])', '%%%1') -- Add category and its rules into the list table.insert(cats,cat_x) end return p._main(cats) end function p._main(cat_list) -- Pagename, exactly, in all lowercase, and escaped (used for matching) local pagename = curpage.text local pagelc = pagename:lower() local pageesc = pagelc:gsub( -- Chars: - ^ $ * ( ) + ? '([%-^$*()+?])', '%%%1') -- Return table local ctg = {} for _, v in ipairs(cat_list) do -- Category name and in lowercase local cn = v.name local cnl = cn:lower() -- Text to remove local rmv = v.trim:lower() -- Little thing that checks pagename against everything in the matches table -- If there's no table, keep as false (it won't matter) local pagematches = false if v.ifmatch then for _, w in ipairs(v.ifmatch) do -- Look for exact match, and with faux-singular too if pagelc:find(w) or (w:find('s$') and pagelc:find(w:match('(.*)s$'))) then pagematches = true end end end -- Create a second string that counts as the singular of the text to remove -- If it works as a singular, and the page name is singular, then use it too -- Otherwise, just make it the same as rmv local rmvpl = rmv if rmv:find('s$') then rmvpl = rmv:match('(.*)s$') if pagelc:find('^'..rmvpl) and (not pagelc:find('^'..rmv)) then -- Nothing else rmvpl = rmv end end -- If v.ifmatch is not specified or -- It is and the pattern matches any part of the pagename -- Continue to add categories if (not v.ifmatch) or (v.ifmatch and pagematches) then -- If the pagename matches category name exactly -- Or either is a simple plural of the other -- Or the text to remove exactly -- Sort to front if pagelc:find('^'..cnl..'$') or cnl:find('^'..pageesc..'s$') or pagelc:find('^'..cnl..'s$') or pagelc:find('^'..rmv..'$') then table.insert(ctg,string.format('[[Category:%s| ]]',cn)) -- If the pagename begins with the category name -- Sort with beginning remove elseif pagelc:find('^'..rmv) or pagelc:find('^'..rmvpl) then -- Offset by an extra character if it's not plural -- Or the page starts with plural if rmvpl == rmv then offset = 1 else offset = 0 end -- Unescape metacharacters for proper length local key = pagename:sub( #(rmv:gsub('%%','')) + offset ) key = ucf(mw.text.trim(key)) -- Remove punctuation from start if leftover -- Such as "/" leftover on subpages -- Or "(" for disambiguated pages if key:find('^%p') then key = ucf(key:sub(2)) -- Just in case, remove "s" preceding punctuation elseif key:find('^S%p') then key = ucf(key:sub(3)) end table.insert(ctg,string.format('[[Category:%s|%s]]',cn,key)) -- Everything else just gets the category added plainly else table.insert(ctg,string.format('[[Category:%s]]',cn)) end end end return table.concat(ctg) end return p d47b5880736675df2df2fe7bff3e9e250a84ae6e Category:Locations 14 119 193 2024-03-22T15:18:41Z InvalidCards 4 Created page with "{{Categoryheader|pages|locations}} [[Category:Content]]" wikitext text/x-wiki {{Categoryheader|pages|locations}} [[Category:Content]] 2151ca92c6b8a541bac70b319e6c48392d288515 Basic bacon 0 84 194 141 2024-03-22T15:18:59Z InvalidCards 4 wikitext text/x-wiki '''Basic Bacon''' is a food that can be created using the [[Chef]] profession. It can be obtained by frying raw bacon in a kitchen. [[Category:Items]] d2468fbc55857c73273ae33b2c8ed47f278622bf Category:Navbox templates 14 120 195 2024-03-22T15:19:05Z Jayden 3 Created page with "[[Category:Navigational templates]]" wikitext text/x-wiki [[Category:Navigational templates]] f69ac1a88cfac3ba37871c145f46f3b6101b7558 Category:Items 14 121 196 2024-03-22T15:19:14Z InvalidCards 4 Created page with "{{Categoryheader|pages|items}} [[Category:Content]]" wikitext text/x-wiki {{Categoryheader|pages|items}} [[Category:Content]] c6a61d666de69074b80ac807998446444b61ec28 Category:Navigational templates 14 122 197 2024-03-22T15:19:16Z Jayden 3 Created page with "[[Category:Templates]]" wikitext text/x-wiki [[Category:Templates]] 06eecdec29f6cb215c99cf216d1e3bdc8c30a95e Bone Vats 0 81 198 138 2024-03-22T15:19:30Z InvalidCards 4 wikitext text/x-wiki The '''Bone Vats''' is a location where players can craft items using bones. [[Category:Locations]] 95c3e2bd90c89083ce463256ce854b6826576e1a Cliffside Path 0 83 199 140 2024-03-22T15:20:17Z InvalidCards 4 wikitext text/x-wiki The '''Cliffside Path''' is a location. It is a wooded path, inhabited by giant spiders, with large cobwebs strewn about. [[Category:Locations]] 3ed16ef02f924c735803c88cdf9d2eaa12755442 MediaWiki:Vector.less/navbox.less 8 123 200 2024-03-22T15:20:27Z Jayden 3 Created page with "/* =========================== [[Template:Navbox]] =========================== */ :root { --navbox-background: @BODY_LIGHT; --navbox-border: @BODY_DARK; --navbox-title-background: @BODY_DARK; --navbox-footer-background: @BODY_DARK; --navbox-group-title-background: @BODY_MID; } .navbox { font-size: .85em; background: var(--navbox-background); border-collapse: collapse; margin: 1em auto 0; // 0 as .catlinks has margin already + navboxes are expected to..." less less /* =========================== [[Template:Navbox]] =========================== */ :root { --navbox-background: @BODY_LIGHT; --navbox-border: @BODY_DARK; --navbox-title-background: @BODY_DARK; --navbox-footer-background: @BODY_DARK; --navbox-group-title-background: @BODY_MID; } .navbox { font-size: .85em; background: var(--navbox-background); border-collapse: collapse; margin: 1em auto 0; // 0 as .catlinks has margin already + navboxes are expected to be the last element on the page width: 100%; clear: both; box-shadow: @box-shadow; img { // retina support .pixelate(); } // nested navboxes .navbox { font-size: 100%; margin: 0.5em auto 0; box-shadow: none; } } @header-padding: 0.25em 1em; // main header .navbox-title { font-size: 110%; line-height: 1.6em; background: var(--navbox-title-background); text-align: center; padding: @header-padding; &-name { // Navbox title text - prev done via fixed width on both collapse button // and navbar to prevent title shift margin: 0 4em; } // Fix toggle style being different before JS takes over. .mw-collapsible-toggle { font-size: .9em; text-align: right; } // nested navboxes .navbox { font-size: 100%; } } .navbox-group:nth-child(2) { // separating border in case group-title and title background match e.g. dark mode border-top: 1px solid var(--navbox-border); } // navbox group title .navbox-group-title { background: var(--navbox-group-title-background); border: 1px solid var(--navbox-border); border-width: 0 1px 1px 0; // right and bottom text-align: left; padding: @header-padding; // needs <br> tags in cases of long titles width: 1%; white-space: nowrap; } // navbox group content .navbox-list { border-bottom: 1px solid var(--navbox-border); padding: 0.25em 0.5em; ul { margin: 0; } // list styling li { display: inline; white-space: nowrap; & + li::before { content: '• '; } } } // parent of a subgroup .navbox-parent { padding: 0; } // nested group content .navbox-subgroup { border-collapse: collapse; border-spacing: 0; width: 100%; // if the nested group title ever needs to be changed .navbox-group-title { // background: @BODY_LIGHT; } > tbody > tr:last-child > th, > tbody > tr:last-child > td { border-bottom: none; } } // footer .navbox-footer { background: var(--navbox-footer-background); text-align: center; padding: @header-padding; } .navbox-data { display: none; } 6b745370861ff265e76ed2dfd1598ae3fc5a6c1f Crenopolis 0 75 201 128 2024-03-22T15:20:29Z InvalidCards 4 wikitext text/x-wiki '''Crenopolis''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. [[Category:Locations]] 18a0be59e41b5367d88a4e38473c263e89ea4770 File:Solstrike.png 6 124 202 2024-03-22T15:20:35Z ToofleBerry 6 Obtained from https://web.archive.org/web/20230705053137im_/https://www.solstrike.com/screenshot1.png wikitext text/x-wiki == Summary == Obtained from https://web.archive.org/web/20230705053137im_/https://www.solstrike.com/screenshot1.png 6f079ce359a93882dd589f6d3975fb610eee18ed Factions 0 72 203 125 2024-03-22T15:20:49Z InvalidCards 4 wikitext text/x-wiki '''Classes''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. ==Classes== * The [[Cryoknight]] class is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]] * [[Guardian]]s use ranged combat, preferring to wield weapons like [[crossbow]]s * The [[Hammermage]] class fights using a mix of melee and magic [[Category:Class|#]] dda9a88b53730be54b840eebfd527eaa78dd46b7 MediaWiki:Vector.less 8 31 204 48 2024-03-22T15:20:52Z Jayden 3 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Vector.css]]. * * These styles will be applied to the Vector skin (desktop). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ @common: 'MediaWiki:Common.less'; @dir: 'MediaWiki:Vector.less'; // ===== Imports ===== @import '@{common}/mixins.less'; @import '@{common}/variables.less'; @import '@{dir}/elements.less'; // Vector interface files @import '@{dir}/vectormenu.less'; @import '@{dir}/vectorsearch.less'; @import '@{dir}/vectorsidebar.less'; @import '@{dir}/vectortabs.less'; // Image thumbnails @import '@{dir}/thumb.less'; // Table of Contents @import '@{dir}/toc.less'; // anything else that doesn't go into above files @import '@{dir}/interface.less'; // Editor interface @import '@{dir}/sourceeditor.less'; @import '@{dir}/editor.less'; // Templates @import '@{dir}/navbox.less'; // Misc @import '@{dir}/echo.less'; // ===== Miscellaneous ===== // moved from [[MediaWiki:Common.less/tabber.less]] // because it caused them to go off-screen on mobile .tabber { display: inline-grid; } 322d6e01c94ee85900dcc283bd07b4f1fea244cb MediaWiki:Vector.css 8 43 205 107 2024-03-22T15:20:56Z Jayden 3 Updating CSS from [[MediaWiki:Vector.less]] css text/css /* <pre> */ :root { --ul-list-style-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='13'%3E%3Ccircle cx='2.5' cy='9' r='2.5' fill='%23000'/%3E%3C/svg%3E"); } html { -webkit-text-size-adjust: 100%; } body { background: var(--body-background-image) var(--body-background-color) top left / 1500px 375px no-repeat; font-family: 'Helvetica Neue', 'Arial', sans-serif; } .vector-body { font-size: 0.9em; } #firstHeading { font-weight: bold; } pre, code, .mw-code { color: inherit; background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } dl { margin: 0; } ul { list-style-image: var(--ul-list-style-image); } hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } fieldset { border-color: var(--sidebar); } .vector-body blockquote { border-color: var(--body-mid); } :root { --personal-links-bg: var(--body-main); --arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M11.05 3.996l-.965-1.053-4.035 3.86-3.947-3.86L1.05 3.996l5 5 5-5' fill='%23444'/%3E%3C/svg%3E"); } .vector-menu-dropdown .vector-menu-heading { background-color: var(--vector-tab-background); padding: 1em 0.75em 0.6923em; margin: 0; } .vector-menu-dropdown .vector-menu-heading, .vector-menu-dropdown .vector-menu-heading:hover, .vector-menu-dropdown .vector-menu-heading:focus { color: var(--background-text-color); } .vector-menu-dropdown .vector-menu-heading:after { background-image: var(--arrow-down); opacity: 1; } .vector-menu-dropdown .vector-menu-content { border-color: transparent; background-color: var(--body-light); box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.1); left: 0; } .vector-menu-dropdown .mw-list-item a { color: var(--link-color); } .vector-menu-dropdown .mw-list-item.selected a, .vector-menu-dropdown .mw-list-item.selected a:visited { color: var(--text-color); } #p-personal { background: var(--personal-links-bg); top: 0; right: 0; border-radius: 0 0 0 4px; height: 1.875em; } #p-personal ul { padding: 0 1em 0 0.4375em; } .vector-search-box-inner { background: var(--search-box); height: 2.5em; margin-top: 0; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } .vector-search-box-input { color: var(--text-color); height: 100%; border: none; background: none; padding-left: 0.75em; } .vector-search-box-input::placeholder { color: var(--text-color); opacity: 0.67; } .vector-search-box-inner:hover .vector-search-box-input, .vector-search-box-input:focus, .vector-search-box-inner:hover .vector-search-box-input:focus { border: none; box-shadow: none; } :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='13'%3E%3Cg fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M11.29 11.71l-4-4'/%3E%3Ccircle cx='5' cy='5' r='4'/%3E%3C/g%3E%3C/svg%3E"); } .searchButton[name='go'] { background: no-repeat center var(--searchbutton-icon); } .vector-search-box { margin: 0; } .vector-search-box form { margin-top: 0; } .suggestions-results { background-color: var(--body-light); border-color: var(--body-border); } .suggestions-result { color: var(--text-color); } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--text-color); } .suggestions-special { background-color: var(--body-light); border-color: var(--body-border); } .suggestions-special .special-label { color: var(--byline-color); } .suggestions-special .special-query { color: var(--text-color); } .suggestions-result-current { background-color: var(--body-mid); color: var(--text-color); } .suggestions-result-current .special-label, .suggestions-result-current .special-query { color: var(--text-color); } #mw-panel { padding-top: 2.5em; } .vector-menu-portal .vector-menu-heading { color: var(--background-text-color); font-weight: bold; background: none; } .vector-menu-portal .vector-menu-content li a, .vector-menu-portal .vector-menu-content li a:visited { color: var(--background-link-color); } #p-logo { filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.25)); margin: -1.5em 0 0; } #n-Discord a { color: #fff !important; font-weight: bold; border-radius: 4px; border: 1px solid #4c57d0; background-color: #5865f2; display: block; position: relative; padding: 4px 4px 5px calc(17px + 6.5px * 2); box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); transition: 0.2s; } #n-Discord a::before { content: 'Chat on '; font-weight: normal; opacity: 0.85; } #n-Discord a::after { content: ''; background: url('filepath://Discord_logo_icon.svg') no-repeat; background-size: 17px 13px; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1)); position: absolute; top: 5px; left: 7px; width: 17px; height: 13px; } #n-Discord a:hover { text-decoration: none; background-color: #525ee0; } .wgl-theme-dark #n-Discord a { background-color: #525ee0; } .wgl-theme-dark #n-Discord a:hover { background-color: #4c57d0; } :root { --vector-tab-background: #f0f0f0; --vector-tab-background--hover: var(--body-mid); --vector-tab-link-color: #937040; --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%2352351e' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); } .vector-menu-tabs-legacy { padding: 0; } .vector-menu-tabs-legacy .new a, .vector-menu-tabs-legacy .new a:visited { color: var(--redlink-color); } .vector-menu-tabs-legacy .selected { background: var(--body-main); } .vector-menu-tabs-legacy .selected a, .vector-menu-tabs-legacy .selected a:visited { color: var(--text-color); } .vector-menu-tabs-legacy li a { color: var(--vector-tab-link-color); padding: 0 0.75em; padding-top: 1em; } .vector-menu-tabs-legacy li a:visited { color: var(--vector-tab-link-color); } .vector-menu-tabs-legacy ul li { background: var(--vector-tab-background); } .vector-menu-tabs-legacy ul a:hover { text-decoration: none; } #ca-view { display: none !important; } .vector-menu-tabs ul li:not(.selected):hover, #p-cactions:hover #p-cactions-label { background: var(--vector-tab-background--hover); } .vector-menu-tabs ul li:not(.selected), #mw-head .vector-menu-dropdown .vector-menu-heading { box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } .ve-activated .vector-menu-tabs .selected { box-shadow: none; } .vector-menu-tabs #ca-watch.icon a:before, .vector-menu-tabs #ca-watch.icon a:hover:before, .vector-menu-tabs #ca-watch.icon a:focus:before { background-image: var(--watch-icon); } .vector-menu-tabs #ca-unwatch.icon a:before, .vector-menu-tabs #ca-unwatch.icon a:hover:before, .vector-menu-tabs #ca-unwatch.icon a:focus:before { background-image: var(--unwatch-icon); } div.thumbinner { border: none; background-color: var(--thumb-bg); padding: 0; } .thumbimage { background-color: transparent; border-color: transparent; border-bottom: none; } .thumbcaption { background: var(--thumb-caption-bg); padding: 4px 6px; } :root { --toc-bg: var(--body-light); --toc-title-bg: var(--body-dark); --toc-border-color: var(--body-border); --toc-list-border-color: var(--body-border); } .toc { font-size: 0.9em; background: var(--toc-bg); margin-top: 1em; padding: 0; border-color: var(--toc-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); clear: left; } .toc .toctitle { background: var(--toc-title-bg); padding: 0.25em 1em; } .toc .toctitle h2 { font-family: inherit; } .toc > ul { line-height: 1.8em; padding: 0.75em 1.75em; margin: 0; } .toc ul ul { border-left: 1px dotted var(--toc-list-border-color); padding-left: 0.5em; } .tocnumber { display: none; } .toctogglespan { padding-left: 0.2em; font-size: 0.9em; } .toctogglelabel { color: var(--link-color); } .toclimit-2 #toc .toclevel-2, .toclimit-3 #toc .toclevel-3, .toclimit-4 #toc .toclevel-4, .toclimit-5 #toc .toclevel-5, .toclimit-6 #toc .toclevel-6, .toclimit-7 #toc .toclevel-7 { display: none; } :root { --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23936039' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } .mw-parser-output a.external { background-image: var(--external-icon); background-size: 0.833em; } .mw-editsection { font-family: 'Helvetica Neue', 'Arial', sans-serif; } .client-js .mw-content-ltr .mw-editsection-bracket:first-of-type, .client-js .mw-content-ltr .mw-editsection-bracket:not(:first-of-type), .mw-editsection-divider { color: var(--text-color); } #contentSub, #contentSub2 { color: var(--byline-color); margin: 0; } #contentSub:not(:empty), #contentSub2:not(:empty) { margin: 0 0 1.4em 0; } .mw-collapsible.mw-collapsed { min-width: 250px; } .mw-collapsible:not( .mw-made-collapsible) th::before, .mw-collapsible .mw-collapsible-toggle { font-weight: normal; margin-left: 0.2em; } .wikiEditor-ui .wikiEditor-ui-view, .wikiEditor-ui .wikiEditor-ui-top { border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar { background-color: var(--sourceeditor-background); } .wikiEditor-ui-toolbar .tabs span.tab > a, .wikiEditor-ui-toolbar .tabs span.tab > a:visited { color: var(--link-color); } .wikiEditor-ui-toolbar .tabs span.tab a.current, .wikiEditor-ui-toolbar .tabs span.tab a.current:visited { color: var(--text-colour); } .wikiEditor-ui-toolbar .group { border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar .group .tool-select { background-color: var(--sourceeditor-background); border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar .group .tool-select .options { border-color: var(--sourceeditor-border); background-color: var(--body-main); } .wikiEditor-ui-toolbar .group .tool-select .options .option { color: var(--link-color); } .wikiEditor-ui-toolbar .group .tool-select .menu .options .option:hover { background-color: var(--ooui-normal--hover); } .wikiEditor-ui-toolbar .group-search { border-left-color: var(--body-mid); } .wikiEditor-ui-toolbar .page-table td { border-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .page-table th { color: var(--text-color); } .wikiEditor-ui-toolbar .sections .section { border-color: var(--body-mid); } .wikiEditor-ui-toolbar .sections .toolbar .group > .label { color: var(--text-color); } .wikiEditor-ui-toolbar .sections .toolbar .tool > .label { color: var(--text-color); } .wikiEditor-ui-toolbar .booklet > .index > :hover { background-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .booklet .index > .current { background-color: var(--body-mid); color: var(--link-color); } .wikiEditor-ui-toolbar .page-characters div span { border-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .page-characters div span:hover { border-color: var(--body-dark); background-color: transparent; } .wikiEditor-ui-toolbar .tabs span.tab a:before, .wikiEditor-ui-toolbar .group .tool-select .label:after { background: var(--text-color); -webkit-mask: var(--arrow-down) center no-repeat; mask: var(--arrow-down) center no-repeat; } .ace-tm { background-color: var(--sourceeditor-input-background); color: var(--text-color); } .ace-tm .ace_gutter { background: var(--body-mid); color: var(--text-color); } .ace-tm .ace_gutter-cell { color: var(--text-color); } .ace-tm .ace_gutter-active-line { background-color: var(--body-light); } .ace_search { background-color: var(--body-light); color: var(--text-color); border-color: var(--body-mid); } .ace_search_field { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .ace_searchbtn { border-color: var(--ooui-normal-border); background-color: var(--ooui-normal); color: var(--ooui-text); } .ace_searchbtn:last-child { border-color: var(--ooui-normal-border); } .ace_searchbtn:hover { background-color: var(--ooui-normal--hover); } .ace_searchbtn.prev:after, .ace_searchbtn.next:after { border-color: var(--ooui-text); } .ace_button { color: var(--text-color); } .ace_button:hover { background-color: rgba(0, 23, 70, 0.086); } .ace_button:active { background-color: rgba(0, 23, 70, 0.06); } .ace_button.checked { border-color: var(--ooui-accent); } .CodeMirror { background: var(--sourceeditor-input-background); } .CodeMirror pre { color: var(--text-color); } .codeEditor-status { border-color: var(--sourceeditor-border); background-color: var(--sourceeditor-background); } .codeEditor-status-message { border-color: var(--sourceeditor-border); } .CodeMirror-gutters { background-color: var(--codemirror-gutter-background); border-color: var(--sourceeditor-border); } .CodeMirror-linenumber { color: var(--text-color); } .ve-init-mw-desktopArticleTarget .CodeMirror-linenumber { color: var(--byline-color); } .mw-editform #wpTextbox1 { color: var(--text-color); background: var(--sourceeditor-input-background); border-color: var(--sourceeditor-border); } input[name="model"][value="Scribunto"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="css"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="less"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="javascript"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="json"] ~ .wikiEditor-ui #wpTextbox1 { height: 600px; } .tdg-templateDataDialog-listParamsPanel textarea.oo-ui-textInputWidget-autosized { resize: vertical; } #wpAceFilterEditor { resize: horizontal; } .warn-userupload, .ns-2 .upload-own-work { display: none; } .ns-2 .warn-userupload { display: inline; } textarea[name="wfUploadDescription"] { height: 3em; } #editform { margin-top: 1.25em; } #mw-scribunto-input, #mw-scribunto-output { padding: 3px; font-family: monospace; font-size: 13px; line-height: 1.5em; } #mw-scribunto-input { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } :root { --scribuntoconsole-input: #0b5884; --scibuntoconsole-print: #a48900; --scribuntoconsole-error: #9f261e; --scribuntoconsole-message: #3c780a; --scribuntoconsole-tabcomplete: #4f348b; --scribuntoconsole-clear: #9f261e; } .mw-scribunto-console-fieldset { color: inherit; background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-scribunto-normalOutput, .mw-scribunto-print, .mw-scribunto-error, .mw-scribunto-propList, .mw-scribunto-message, .mw-scribunto-tabcomplete { background: none; } .mw-scribunto-input { color: var(--scribuntoconsole-input); } .mw-scribunto-normalOutput { color: inherit; } .mw-scribunto-print { color: var(--scibuntoconsole-print); } .mw-scribunto-error { color: var(--scribuntoconsole-error); } .mw-scribunto-propList, .mw-scribunto-message { color: var(--scribuntoconsole-message); } .mw-scribunto-tabcomplete { color: var(--scribuntoconsole-tabcomplete); } .mw-scribunto-clear { color: var(--scribuntoconsole-clear); border-bottom-color: var(--scribuntoconsole-clear); } :root { --navbox-background: var(--body-light); --navbox-border: var(--body-dark); --navbox-title-background: var(--body-dark); --navbox-footer-background: var(--body-dark); --navbox-group-title-background: var(--body-mid); } .navbox { font-size: 0.85em; background: var(--navbox-background); border-collapse: collapse; margin: 1em auto 0; width: 100%; clear: both; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { .navbox img { image-rendering: pixelated; image-rendering: crisp-edges; } } .navbox .navbox { font-size: 100%; margin: 0.5em auto 0; box-shadow: none; } .navbox-title { font-size: 110%; line-height: 1.6em; background: var(--navbox-title-background); text-align: center; padding: 0.25em 1em; } .navbox-title-name { margin: 0 4em; } .navbox-title .mw-collapsible-toggle { font-size: 0.9em; text-align: right; } .navbox-title .navbox { font-size: 100%; } .navbox-group:nth-child(2) { border-top: 1px solid var(--navbox-border); } .navbox-group-title { background: var(--navbox-group-title-background); border: 1px solid var(--navbox-border); border-width: 0 1px 1px 0; text-align: left; padding: 0.25em 1em; width: 1%; white-space: nowrap; } .navbox-list { border-bottom: 1px solid var(--navbox-border); padding: 0.25em 0.5em; } .navbox-list ul { margin: 0; } .navbox-list li { display: inline; white-space: nowrap; } .navbox-list li + li::before { content: '• '; } .navbox-parent { padding: 0; } .navbox-subgroup { border-collapse: collapse; border-spacing: 0; width: 100%; } .navbox-subgroup > tbody > tr:last-child > th, .navbox-subgroup > tbody > tr:last-child > td { border-bottom: none; } .navbox-footer { background: var(--navbox-footer-background); text-align: center; padding: 0.25em 1em; } .navbox-data { display: none; } :root { --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%234c4c4c' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%234c4c4c' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --echo-icon-bell-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Ebell%3C/title%3E%3Cpath d=%22M16 7a5.38 5.38 0 00-4.46-4.85C11.6 1.46 11.53 0 10 0S8.4 1.46 8.46 2.15A5.38 5.38 0 004 7v6l-2 2v1h16v-1l-2-2zm-6 13a3 3 0 003-3H7a3 3 0 003 3z%22 fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-tray-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Etray%3C/title%3E%3Cpath d=%22M3 1a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V3a2 2 0 00-2-2zm14 12h-4l-1 2H8l-1-2H3V3h14z%22 fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-fullscreen-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E fullscreen %3C/title%3E%3Cg fill='%234c4c4c'%3E%3Cpath d='M1 1v6h2V3h4V1zm2 12H1v6h6v-2H3zm14 4h-4v2h6v-6h-2zm0-16h-4v2h4v4h2V1z'/%3E%3C/g%3E%3Cscript xmlns=''/%3E%3C/svg%3E"); --echo-icon-exitFullscreen-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E exit fullscreen %3C/title%3E%3Cg fill='%234c4c4c'%3E%3Cpath d='M7 7V1H5v4H1v2zM5 19h2v-6H1v2h4zm10-4h4v-2h-6v6h2zm0-8h4V5h-4V1h-2v6z'/%3E%3C/g%3E%3Cscript xmlns=''/%3E%3C/svg%3E"); } .vector-user-menu-legacy #pt-userpage a, .vector-user-menu-legacy #pt-anonuserpage { background-image: var(--echo-icon-person-bg-image); padding-top: 0; background-position-y: 0; } .vector-user-menu-legacy #pt-anonuserpage { color: var(--byline-color); } #pt-notifications-alert .mw-echo-notifications-badge, #pt-notifications-notice .mw-echo-notifications-badge { background-size: 75%; background-position: center 80%; background-repeat: no-repeat; opacity: unset; } #pt-notifications-alert .mw-echo-notifications-badge.mw-echo-notifications-badge-all-read, #pt-notifications-notice .mw-echo-notifications-badge.mw-echo-notifications-badge-all-read { opacity: unset; } #pt-notifications-alert .oo-ui-icon-bell { background-image: var(--echo-icon-bell-bg-image); } #pt-notifications-notice .oo-ui-icon-tray { background-image: var(--echo-icon-tray-bg-image); } #pt-fixed-width .oo-ui-icon-advanced { background-image: var(--echo-icon-exitFullscreen-bg-image); } body.wgl-fixedWidth #pt-fixed-width .oo-ui-icon-advanced { background-image: var(--echo-icon-fullscreen-bg-image); } #pt-theme-toggles .oo-ui-icon-advanced { background-image: var(--echo-icon-moon-bg-image); } #pt-anontalk { padding-top: 0.6em; } .tabber { display: inline-grid; } 60994938d29a3a6964e1fd4266db304ce7d4532f Category:Factions 14 125 206 2024-03-22T15:21:04Z InvalidCards 4 Created page with "{{Categoryheader|pages|[[class]]es}}" wikitext text/x-wiki {{Categoryheader|pages|[[class]]es}} ef5c38fb53aebf493b942a4f90cc0045d0a77137 Cryoknight 0 69 207 122 2024-03-22T15:21:14Z InvalidCards 4 wikitext text/x-wiki '''Cryoknight''' is a [[class]] which specialises in using melee weapons in [[combat]]. [[Category:Class]] 0e90e36270b744cff29eb34c96f586c234a23e78 File:Ionas Toybox.png 6 126 208 2024-03-22T15:21:38Z ToofleBerry 6 Obtained from https://web.archive.org/web/20220626021422im_/http://www.ionastoybox.com/sweet_shop2.png wikitext text/x-wiki == Summary == Obtained from https://web.archive.org/web/20220626021422im_/http://www.ionastoybox.com/sweet_shop2.png 7b5df332e7032477200f49f09218ca32939b3997 Andrew Gower 0 54 209 96 2024-03-22T15:21:45Z InvalidCards 4 wikitext text/x-wiki '''Andrew Gower''' is the founder of [[Fen Research]], and the designer of the game [[Brighter Shores]]. Before working on Brighter Shores, he was most known for the popular [[Wikipedia:Massively multiplayer online role-playing game|MMORPG]] [[Wikipedia:RuneScape|RuneScape]], which he created while studying at the [[Wikipedia:University of Cambridge|University of Cambridge]]. [[Category:Fen Research staff]] ed56ed300c149ee869c658fac672f910f683f4f9 Template:Professions 10 115 210 188 2024-03-22T15:21:47Z Jayden 3 wikitext text/x-wiki {{Navbox |name = Professions |title = [[Professions]] |style1 = text-align:center |group1 = * [[Fisher]] * [[Forager]] * [[Chef]] * [[Woodcutter]] * [[Miner]] * [[Alchemist]] * [[Stonemason]] * [[Merchant]] * [[Blacksmith]] }}{{Ctg|Professions}} 9719527c0afd4ef5f0583d36bcf0cefefdf0e16c Category:Fen Research staff 14 127 211 2024-03-22T15:22:08Z InvalidCards 4 Created page with "{{Categoryheader|pages|people working at [[Fen Research]]}} [[Category:Fen Research]]" wikitext text/x-wiki {{Categoryheader|pages|people working at [[Fen Research]]}} [[Category:Fen Research]] 000bfe24caa3c8078d334e0606c106e8381507c4 Professions 0 56 212 167 2024-03-22T15:22:10Z Jayden 3 wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. ==List of professions== {| class="wikitable" ! Name !! Uses |- | [[Fisher]] || Catching various [[fish]] |- | [[Forager]] || Gathering items |- | [[Chef]] || Cooking [[food]] items |- | [[Woodcutter]] || Chopping down [[tree]]s |- | [[Miner]] || Mining [[mineral]]s |- | [[Alchemist]] || |- | [[Stonemason]] || |- | [[Merchant]] || |- | [[Blacksmith]] || |} {{Professions}} 0c9c75bce9ffb02f2497f7bca86244b153201bbf Fisher 0 58 213 172 2024-03-22T15:22:20Z Jayden 3 wikitext text/x-wiki '''Fisher''' is a type of [[professions|profession]] which specialises in catching [[fish]]. {{Professions}} d5ee1556fb1aa6d76017e5bc9727be7680e50103 Forager 0 59 214 173 2024-03-22T15:22:26Z Jayden 3 wikitext text/x-wiki '''Forager''' is a type of [[professions|profession]]. {{Professions}} 52c4568e5b975224f583c3e9ea607c102b8a696f Category:Fen Research 14 128 215 2024-03-22T15:22:31Z InvalidCards 4 Created page with "{{Categoryheader|pages|[[Fen Research]] and related topics}}" wikitext text/x-wiki {{Categoryheader|pages|[[Fen Research]] and related topics}} e1f8fb86883214ae728e1738552fa80723eda4da Chef 0 60 216 175 2024-03-22T15:22:33Z Jayden 3 wikitext text/x-wiki '''Chef''' is a type of [[professions|profession]] which allows the [[player]] to [[cooking|cook]] many different [[food]] items. {{Professions}} 612cc34bff6313bb7d21d3dd8ba7ca4b793bc164 Woodcutter 0 61 217 176 2024-03-22T15:22:48Z Jayden 3 wikitext text/x-wiki '''Woodcutter''' is a type of [[professions|profession]]. {{Professions}} 367ded0673d1b2110d5373b9d3555fdaa7993a6c Miner 0 62 218 177 2024-03-22T15:22:54Z Jayden 3 wikitext text/x-wiki '''Miner''' is a type of [[professions|profession]] specialising in collecting [[minerals]]. {{Professions}} 5a69e31924373fde11a4e0c5293bea3306ea9060 Alchemist 0 63 219 163 2024-03-22T15:23:01Z Jayden 3 wikitext text/x-wiki '''Alchemist''' is a type of [[professions|profession]]. {{Professions}} 96df556b289ad327ff29f80f5330e599b161410d Stonemason 0 64 220 178 2024-03-22T15:23:07Z Jayden 3 wikitext text/x-wiki '''Stonemason''' is a type of [[professions|profession]]. {{Professions}} 7f6eec472e30346798a5f9a6eb7f9cfb45c1b1f8 Fen Research 0 55 221 97 2024-03-22T15:23:09Z InvalidCards 4 wikitext text/x-wiki '''Fen Research''' is a game development studio based in [[Wikipedia:Cambridge|Cambridge]], UK. Founded by [[Andrew Gower]], it is currently actively developing the game [[Brighter Shores]]. [[Category:Fen Research|#]] 14971111d894d820a3178feaa27b58d02732a51e Merchant 0 65 222 179 2024-03-22T15:23:12Z Jayden 3 wikitext text/x-wiki '''Merchant''' is a type of [[professions|profession]]. {{Professions}} dac5412bdd676befd85e28c3171134c0621e185e Fenforge 0 129 223 2024-03-22T15:23:16Z ToofleBerry 6 Created page with "'''Fenforge''' is a game engine that has been in continuous development by [[Fen Research]] since May [[2010]]. First used to develop ''Solstrike'' (2014) and ''Iona's Toybox'' (2021), ''[[Brighter Shores]]'' is the third game to use this engine. == Other games using Fenforge == {| class="wikitable sortable" |- ! Release date !! Name !! Image |- | || Solstrike || [[File:solstrike.png|300px]] |- | || Iona's Toybox || [[File:Ionas Toybox.png|300px]] |}" wikitext text/x-wiki '''Fenforge''' is a game engine that has been in continuous development by [[Fen Research]] since May [[2010]]. First used to develop ''Solstrike'' (2014) and ''Iona's Toybox'' (2021), ''[[Brighter Shores]]'' is the third game to use this engine. == Other games using Fenforge == {| class="wikitable sortable" |- ! Release date !! Name !! Image |- | || Solstrike || [[File:solstrike.png|300px]] |- | || Iona's Toybox || [[File:Ionas Toybox.png|300px]] |} f4030d560df438ddba6cdb7c73249a4c995d17b5 228 223 2024-03-22T15:23:42Z ToofleBerry 6 wikitext text/x-wiki '''Fenforge''' is a game engine that has been in continuous development by [[Fen Research]] since May [[2010]]. First used to develop ''Solstrike'' (2014) and ''Iona's Toybox'' (2021), ''[[Brighter Shores]]'' is the third game to use this engine. == Other games using Fenforge == {| class="wikitable sortable" |- ! Release date !! Name !! Image |- | || Solstrike || [[File:solstrike.png|300px]] |- | || Iona's Toybox || [[File:Ionas Toybox.png|300px]] |} [[Category:Mechanics]] 15a58540145b31cd52b8a7cb516ecf397d1604c4 247 228 2024-03-22T15:27:55Z ToofleBerry 6 Added slightly more information. wikitext text/x-wiki [[File:Fenforge logo.png|left]] '''Fenforge''' is a game engine that has been in continuous development by [[Fen Research]] since May [[2010]]. First used to develop ''Solstrike'' (2014) and ''Iona's Toybox'' (2021), ''[[Brighter Shores]]'' is the third game to use this engine. The engine is based on a privately developed programming language, and designed to be flexible general-purpose engine, allowing programmers to make different types of games relatively quickly. == Other games using Fenforge == {| class="wikitable sortable" |- ! Release date !! Name !! Image |- | || Solstrike || [[File:solstrike.png|300px]] |- | || Iona's Toybox || [[File:Ionas Toybox.png|300px]] |} [[Category:Mechanics]] 213eae9a6bdff11898fbe1a5a7104dfa8da51081 Goblin Marketplace 0 82 224 139 2024-03-22T15:23:19Z InvalidCards 4 wikitext text/x-wiki The '''Goblin Marketplace''' is a location where [[goblin]]s sell their wares. [[Category:Locations]] d7601c2b187282150a5603cf4a4cec7520c71150 Blacksmith 0 66 225 181 2024-03-22T15:23:22Z Jayden 3 wikitext text/x-wiki '''Blacksmith''' is a type of [[professions|profession]]. {{Professions}} d4258005380c51d17838b5d3ab36c75f3ce5cab8 Guardian 0 70 226 123 2024-03-22T15:23:29Z InvalidCards 4 wikitext text/x-wiki '''Guardian''' is a [[class]] which specialises in using ranged weapons in [[combat]]. [[Category:Classes]] 2b8c2a664bf07406b93ba148fa47f40675f6fa5e 227 226 2024-03-22T15:23:41Z InvalidCards 4 Immediately forgets own categories wikitext text/x-wiki '''Guardian''' is a [[class]] which specialises in using ranged weapons in [[combat]]. [[Category:Class]] b3f6aa1ce02266af89ddb191076b437807e30b91 Hammermage 0 71 229 124 2024-03-22T15:23:51Z InvalidCards 4 wikitext text/x-wiki '''Hammermage''' is a [[class]] which specialises in using magic weapons in [[combat]]. [[Category:Class]] 20c6301411c2f26f88f6461906e6b736ddeae74e Hopeforest 0 73 230 126 2024-03-22T15:24:02Z InvalidCards 4 wikitext text/x-wiki '''Hopeforest''' is a forest [[Locations|area]] that contains [[monster]]s, accessible to all [[player]]s. [[Category:Locations]] c1ff4fb80b7dbfdbe80f468f051f387b382f6400 Hopeport 0 68 231 121 2024-03-22T15:24:14Z InvalidCards 4 wikitext text/x-wiki '''Hopeport''' is a town in [[Brighter Shores]]. It serves as the main introductory town for new [[player]]s. ==Features== * A [[Hopeport Harbor|harbor]] [[Category:Locations]] ded01c8f7929ae3d7c6e86096d2bf8ea14fd4195 Module:Infobox 828 102 232 161 2024-03-22T15:24:23Z Gau Cho 5 Copying RSC version for now Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local Infobox = {} Infobox.__index = Infobox Infobox.__tostring = Infobox.tostring -- Edit button for unknown params local editbutton = require('Module:Edit button') local edit = editbutton("'''?''' (edit)") -- Page title local pagename = mw.title.getCurrentTitle().fullText -- map of flags to html tags used by Infobox.addRow() -- let's only define it once, since :addRow() is used multiple times per module local tagmap = { tr = 'tr', th = 'th', td = 'td', argh = 'th', argd = 'td' } --[=[ -- Standardized functions -- called as string with defineParams --]=] -- Standardized "has content" function function hasContent(arg, default) -- Return arg if any non-whitespace character is found return string.match(arg or '','%S') and arg or default end -- Standardized "name" function function subjectName(arg) return string.match(arg or '','%S') and arg or nil end -- Create a standardized release function, since so many pages use it -- Turns release and update into a single parameter function releaseUpdate(release, update) if not Infobox.isDefined(release) then return nil end if string.lower(release) == 'no' then return 'N/A' end if not Infobox.isDefined(update) then return string.format('%s (Update unknown)',release) end if string.lower(update) == 'no' then return release end return string.format('%s ([[Update:%s|Update]])', release, update) end -- Standardized image function function image(img) if img and img:find('%S') then return img else return nil end end -- Standardized numbers function numbers(num) num = string.gsub(num or '',',','') return tonumber(num) end -- map of names to pre-defined functions, used by Infobox:defineParams local func_map = { name = subjectName, release = { name = releaseUpdate, params = { 'release', 'update' }, flag = 'p' }, removal = { name = releaseUpdate, params = { 'removal', 'removalupdate' }, flag = 'p' }, has_content = hasContent, hasContent = hasContent, image = image, numbers = numbers, } -- used to fill nil params in switching sections -- this message isn't kidding -- If you see this message anywhere outside of this code -- (including inside switchfo box data) -- report it local nil_param = 'UH OH YOU SHOULDN\'T SEE THIS!' -- In case the nil_param is needed outside of this module -- give it an easy way to be accessed function Infobox.nilParam() return nil_param end -- switch infobox globals local LINE_WIDTH = 300 local MAX_LINES = 2 local DEFAULT_MAX_BUTTONS = 6 -- calculate with width of a switch infobox button -- potential @TODO: rework to use actual character widths function button_width(label) local PX_PER_CHAR = 6 local PX_PAD_MAR = 24 return string.len(label) * PX_PER_CHAR + PX_PAD_MAR end Infobox.splitpoint = '&&SPLITPOINT&&' -- quick test to see if a value is considered nil function Infobox.isDefined(arg) if arg == nil then return false end if type(arg) == 'string' then if arg == nil_param then return false elseif arg:find('%S') then if arg:find('action=edit') then return false else return true end else return false end end return true end --[[ Infobox class -- args : parameters from frame to pass through -- Sets a meta table and creates a <div> tag wrapper -- other fields are initialized in other functions --]] function Infobox.new(args) local obj = setmetatable({ args = args, -- parameters (uncleaned) rargs = {}, -- parameters (cleaned) params = {}, -- parameters mapped to functions paramnames = {}, -- parameter names dupeable = {}, -- parameters that are allowed to have duplicated switch data addrswibclass = true, switchfo = false, -- switch infobox? or not? switchfoattr = {}, -- switch data class changes maxbuttons = DEFAULT_MAX_BUTTONS, -- maximum number of buttons before switching becomes a menu switch_tag = '', -- switchfo data switch_buttons_tag = '', -- switchfo buttons custom_buttons = false, smw_error_tag = '', rtable = nil, -- returned infobox table labels = nil, -- returned labels _smw = {}, -- semantic mediawiki data _smwOne = {}, -- semantic mediawiki data part 2 _smwSubobject = {}, -- semantic mediawiki data part 3 _smwSubobjectAppliesTo = nil, -- semantic mediawiki data part 3.5 _smwElement = {}, -- semantic mediawiki data part 4 setSMWElement = true, versions = -1, -- number of switch versions (-1 is uncalculated) infoboxname = nil, -- template name appendStrs = {}, bottomlinks = { -- template bottom links links = { { 'Template talk:%s', 'talk' }, { 'Template:%s', 'view' } }, colspan = 2 }, catdata = {}, -- meta category data catlist = {}, -- defined table of category names (strings) __finished = false, -- infobox status }, Infobox) return obj end --[[ Toggles the addition of infobox class use before :create() noop if not a boolean --]] function Infobox:setAddRSWInfoboxClass(bool) if type(bool) == 'boolean' then self.addrswibclass = bool end end --[[ Creates an infobox -- If Infobox:maxVersions() has not been run, it will be run here -- If the infobox should be a switch infobox, all labels will be added -- Creates a wikitable that will be the infobox THIS SHOULD BE DONE AFTER ADDING AND CLEANING PARAMETERS --]] function Infobox:create() -- Run to find if this is a switch infobox and if so, how many boxes if self.versions == -1 then self:maxVersion() end -- Run if switch infobox if self.switchfo then -- Buttons wrapper -- Hidden by default, unhidden by javascript self.switch_buttons_tag = mw.html.create('div') :addClass('infobox-buttons') -- default version to immediately switch to via js local defv = tonumber(self.args.defver) if defv and defv <= self.versions then -- you troll, don't try to show something that isn't there self.switch_buttons_tag:attr('data-default-version',defv) end local numlines = 1 local width_working = 0 local total_width = 0 local buttons = {} -- Add individual buttons to the wrapper for i=1,self.versions do local wid = button_width(self.labels[i] or i) width_working = width_working + wid total_width = total_width + wid if width_working > LINE_WIDTH then numlines = numlines + 1 width_working = wid end local b = mw.html.create('span') :attr('data-switch-index',tostring(i)) -- space to underscore :attr('data-switch-anchor','#'..string.gsub(self.labels[i] or i,' ','_')) :addClass('button') :wikitext(self.labels[i] or i) table.insert(buttons, {b, wid}) end local best = {-1, 100000} if (numlines > 1) and (numlines <= MAX_LINES) then -- attempt to balance line widths local w_s, w_e = 0,total_width for i = 1,#buttons-1 do w_s = w_s + buttons[i][2] w_e = w_e - buttons[i][2] if w_s > LINE_WIDTH then -- w_s only increases, so we're done once it exceeds the width break end if w_e <= LINE_WIDTH then -- w_e only decreases, so just continue if it exceeds line local diff = math.abs(w_s - w_e) if diff < best[2] then best = { i, diff } end end end if best[1] == -1 then best = { math.floor(#buttons/2), 100000 } end end for i,v in ipairs(buttons) do self.switch_buttons_tag:node(v[1]) if i == best[1] then self.switch_buttons_tag:tag('br') end end -- Used by JavaScript to turn the buttons into a menu list if too many variants if self.versions > self.maxbuttons or numlines > MAX_LINES then self.switch_buttons_tag:addClass('infobox-buttons-select') end self.switch_buttons_tag:done() end -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') if self.addrswibclass then self.rtable:addClass('infobox') end -- Add necessary class if switch infobox if self.switchfo then self.rtable:addClass('infobox-switch') end end -- Defines an infobox name ({{Template:arg}}) -- Used to create a link at the bottom of pages function Infobox:defineName(arg) self.infoboxname = arg end -- Defines the bottom links of the infobox -- pass a table whose elements are tables that define a link and a label -- { -- { 'link', 'label }, -- ... -- } -- The template name can be substituted into the tables using '%s' -- If we wanted Template:InFooBar to link to it's /doc page with a "doc" label: -- { ... -- { 'Template:%s/doc', 'doc' }, -- ... } -- The template's name can only be called 5 times function Infobox:defineLinks(arg) if type(arg) == 'table' then if arg.colspan then self.bottomlinks.colspan = arg.colspan end if arg.links then if type(arg.links) == 'table' then self.bottomlinks.links = arg.links end end if arg.hide then self.bottomlinks.hide = arg.hide end end end -- Change max number of buttons before switching to menu -- defaults to 5 -- MUST BE RUN BEFORE :create() function Infobox:setMaxButtons(arg) -- if not a number, just go back to default self.maxbuttons = tonumber(arg) or DEFAULT_MAX_BUTTONS end --[[ Add parameters functions All parameters should be tables The first parameter defines the type of cell to create -- th : <th> -- td : <td> -- argh : <th> -- argd : <td> The second parameter defines what is inside the tag -- th | th : text passed -- argh | argd : parameter with the name passed Additional named parameters can be used to add any styling or attributes -- attr : mw.html:attr({ arg1 = '1', ... }) -- css : mw.html:css({ arg1 = '1', ...) -- class : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not -- rowspan : mw.html:attr('rowspan',arg) -- colspan : mw.html:attr('colspan',arg) -- title : mw.html:attr('title',arg) Example: ipsobox:addRow( { 'th' , 'Header', title = 'Title' }, { 'argh', 'arg1', class = 'parameter' } }) produces: <tr><th title="Title">Header</th><th class="parameter">args.arg1</th></tr> adding it to the infobox table of ipsobox Cells defined as 'argh' and 'argd' will automatically have data-attr-param="" added, and defined as the passed argument if the infobox in creation is defined as a switch infobox The row itself may be modified with metadata using the named index at "meta" -- meta.addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox.addRow(box, ...) -- New row to add local args = ... local _row = box.rtable:tag('tr') -- For each member of tags for i, v in ipairs(args) do -- map tag name to appropriate tag, default to <td> local _cell = _row:tag(tagmap[v.tag] or 'td') -- mw.html:attr() and mw.html:css() both accept table input -- colspan, rowspan, title will be quick ways to access attr -- these functions also do all the necessary work if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end -- if class is a string, it can be added directly -- if a table, add every value -- mw.html:addClass() doesn't function with tables -- so iterate over the class names here and add them individually if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- if the cell is a normal th or td, add the exact argument passed if v.tag == 'th' or v.tag == 'td' then _cell:wikitext(v.content) -- if defined with "arg", add the argument with name passed elseif v.tag == 'argh' or v.tag == 'argd' then local content = box.rargs[v.content] -- if the requested parameter doesn't exist whatsoever, just return a blank string if not content then content = '' -- If switches exist, first attempt to use the version1 values elseif content.switches then if content.switches[1] ~= nil_param then content = content.switches[1] or '' else content = content.d or '' end -- fallback to default value else content = content.d or '' end _cell:wikitext(content) -- add necessary attribute for switch infoboxes if box.switchfo then _cell:attr('data-attr-param',v.content) end end end -- not that meta -- allow classes to be defined on the whole row -- okay, sort of meta if args.meta then if args.meta.addClass then _row:addClass(args.meta.addClass) end end return box end function Infobox.customButtonPlacement(box,arg) box.custom_buttons = arg return box end function Infobox.addButtonsRow(box, args) if box.switchfo then box.custom_buttons = true local _row = box.rtable:tag('tr') :addClass('rsw-infobox-switch-buttons-row') :tag('td') :addClass('rsw-infobox-switch-buttons') :attr('colspan', args.colspan) :node(box.switch_buttons_tag) end return box end function Infobox.addButtonsCaption(box) if box.switchfo then box.custom_buttons = true local _row = box.rtable:tag('caption') :addClass('rsw-infobox-switch-buttons-caption') :node(box.switch_buttons_tag) end return box end --[[ -- adds a blank row of padding spanning the given number of columns --]] function Infobox.pad(box, colspan, class) local tr = box:tag('tr') :tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') :done() if class then tr:addClass(class) end tr:done() return box end --[[ -- functions the same as mw.html:wikitext() on the wrapper -- Should only be used for categories really --]] function Infobox.wikitext(box, arg) box.rtable:wikitext(arg) return box end --[[ -- Adds the specified item(s) to the end of the infobox, outside of the table -- items are concatenated together with an empty space --]] function Infobox.append(box, ...) for i,v in ipairs({...}) do table.insert(box.appendStrs, v) end return box end --[[ -- Adds a caption to the infobox -- defaults to the pagename -- or the default argument if defined --]] function Infobox.caption(box) -- default to the article's name local name = pagename -- first see if the name parameter exists if box.rargs.name then -- then try the default if box.rargs.name.d then name = box.rargs.name.d -- then look for swithes elseif box.rargs.name.switches then -- then look at version 1 if box.rargs.name.switches[1] ~= nil_param then name = box.rargs.name.switches[1] end end end local caption = box.rtable:tag('caption') :wikitext(name) -- add necessary attribute for switch infoboxes if box.switchfo then caption:attr('data-attr-param','name') end return box end --[[ -- Functions for styling the infobox -- works the same as the respective mw.html functions --]] -- attr function Infobox.attr(box, arg) box.rtable:attr(arg) return box end -- css function Infobox.float(box,float) box.rtable:css('float',float) return box end function Infobox.css(box, ...) box.rtable:css(...) return box end -- addClass function Infobox.addClass(box, arg) box.rtable:addClass(arg) return box end -- Much like Infobox.addClass, but adds multiple classes function Infobox.addClasses(box, ...) for _, v in ipairs(...) do box.rtable:addClass(box) end return box end --[[ Add tags directly to the infobox table Use sparingly Returns the tag created rather than the entire box Which is an mw.html object Further uses of :tag() will be mw.html.tag, rather than Infobox.tag As such, Infobox:addRow() cannot be used afterwards without restating the infobox as the object --]] function Infobox.tag(box, arg) return box.rtable:tag(arg) end --[[ Allows the infobox to use Semantic Media Wiki and give parameters properties Pass a table to this function to map parameter names to properties Calling syntax: -- {{#show:page|?property}}: -- "<property>" - unqualified and without a number will display the default value -- "<property#>" - with a number will show the switch data from that index -- "all <property>" - adding all will display every unique value in a comma separated list Properties initiated in Infobox:finish() --]] function Infobox:useSMW(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smw[w] = v end end end --[[ As above, but only assigns to "<property>", which will act like "all <property>" - "<property>#" not present Properties initiated in Infobox:finish() --]] function Infobox:useSMWOne(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smwOne[w] = v end end end --[[ Set up the infobox to set properties in a SMW subobject. This will create a subobject for each version - if there is only one version, it will put the properties directly on to the page, like useSMWOne Properties initiated in Infobox:finish() --]] function Infobox:useSMWSubobject(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smwSubobject[w] = v end end end function Infobox:useSMWElement(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smwElement[w] = v end self.setSMWElement = true end end --[[ Finishing function -- Finishes the return, adding necessary final tags --]] function Infobox:finish() local onmain = mw.title.getCurrentTitle().namespace == 0 -- Don't finish twice if self.__finished then return end -- Add switch infobox resources --if self.switchfo then self.rtable:attr('data-resource-class', '.infobox-resources-'..string.gsub(tostring(self.infoboxname), ' ', '_')) -- Wrapper tag, hidden self.switch_tag = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..string.gsub(tostring(self.infoboxname), ' ', '_')) :addClass('hidden') for _, v in ipairs(self.paramnames) do local param = self.rargs[v] local default_value = param.d or edit -- Parameters may not have any switches data, those are ignored local switchattr = self.switchfoattr[v] -- Parameter data wrapper local res_span = self.switch_tag:tag('span') :attr('data-attr-param',v) -- Child for default value local def = res_span:tag('span') :attr('data-attr-index',0) :wikitext(tostring(default_value)) -- Switch classes if switchattr then def:attr('data-addclass',switchattr.d) end def:done() if param.switches then -- Add all switches, ignore those defined as nil for i, w in ipairs(param.switches) do if w ~= nil_param and w ~= nil and w ~= default_value then local _w = res_span:tag('span') :attr('data-attr-index',i) :wikitext(tostring(w)) -- Switch classes if switchattr then _w:attr('data-addclass',switchattr.switches[i]) end _w:done() end end res_span:done() end end -- Add a tracking category for mainspace pages that have more than 1 version if onmain then if self.versions > 1 then -- version count data self.switch_tag:tag('span') :wikitext(string.format('Versions: [[Version count::%s]]',self.versions)) :done() self.switch_tag:wikitext('[[Category:Pages that contain switch infobox data]]') end end self.switch_tag:done() --end -- smw data if onmain then -- members smw display, yes --> true; no --> false; other --> unknown local function smwMembers(smw_arg) local smw_argv = string.lower(smw_arg or '') if smw_argv == 'yes' then return 'true' elseif smw_argv == 'no' then return 'false' else return 'unknown' end end -- release date smw display local function smwRelease(smw_arg) local _d,_m,_y = string.match(smw_arg or '', '%[%[(%d%d?) (%a+)%]%] %[%[(%d%d%d%d)%]%]') if _d == nil then return nil end return table.concat({_d,_m,_y},' ') end -- default, just return the text local function smwDefault(smw_arg) if smw_arg ~= nil_param and smw_arg ~= edit then return smw_arg else return 'unknown' end end local smw_to_func = { members = smwMembers, release = smwRelease, removal = smwRelease, default = smwDefault } local smw_data_arr = {} -- custom properties for w, v in pairs(self._smw) do -- only needed to give special formatting to release -- and to make members true/false local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local _arg = curarg.d local argdefault = _arg if _arg == edit then argdefault = 'unknown' else local _x = mw.text.split(tostring(_arg), Infobox.splitpoint, true) if not smw_data_arr[v] then smw_data_arr[v] = {} end if not smw_data_arr['All '..v] then smw_data_arr['All '..v] = {} end for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) table.insert(smw_data_arr[v], temp_smw_data) table.insert(smw_data_arr['All '..v], temp_smw_data) end end if curarg.switches then local _args = {} for _, x in ipairs(curarg.switches) do if x ~= nil_param then table.insert(_args,x) else table.insert(_args,argdefault or nil_param) end end for i, x in ipairs(_args) do local _x = mw.text.split(tostring(x), Infobox.splitpoint, true) if not smw_data_arr[v..i] then smw_data_arr[v..i] = {} end if not smw_data_arr['All '..v] then smw_data_arr['All '..v] = {} end for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) table.insert(smw_data_arr[v..i], temp_smw_data) table.insert(smw_data_arr['All '..v], temp_smw_data) end end end end end -- if one version, put smwSubobject into smwOne and just do that if self.versions < 2 and not self._smwSubobjectAppliesTo then for w,v in pairs(self._smwSubobject) do if not self._smwOne[w] then self._smwOne[w] = v elseif type(self._smwOne[w]) == 'table' then table.insert(self._smwOne[w], v) else self._smwOne[w] = { self._smwOne[w], v } end end end for w, _v in pairs(self._smwOne) do -- only needed to give special formatting to release -- and to make members true/false local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local _arg = curarg.d local argdefault = _arg if _arg == edit then argdefault = 'unknown' end if curarg.switches then local _args = {} for _, x in ipairs(curarg.switches) do if x ~= nil_param then table.insert(_args,x) else table.insert(_args,argdefault or nil_param) end end for i, x in ipairs(_args) do local _x = mw.text.split(tostring(x), Infobox.splitpoint, true) for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) for _,v in ipairs(type(_v) == 'table' and _v or {_v}) do if not smw_data_arr[v] then smw_data_arr[v] = {} end table.insert(smw_data_arr[v], temp_smw_data) end end end else if Infobox.isDefined(_arg) then local _targ = mw.text.split(tostring(_arg), Infobox.splitpoint, true) for _,y in ipairs(_targ) do local temp_smw_data = smwfunc(y) for _,v in ipairs(type(_v) == 'table' and _v or {_v}) do if not smw_data_arr[v] then smw_data_arr[v] = {} end table.insert(smw_data_arr[v], temp_smw_data) end end end end end end local smw_data_arr_elem = {} for w, v in pairs(self._smwElement) do -- only needed to give special formatting to release -- and to make members true/false local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local _arg = curarg.d local argdefault = _arg if _arg == edit then argdefault = 'unknown' end if curarg.switches then local _args = {} for _, x in ipairs(curarg.switches) do if x ~= nil_param then table.insert(_args,x) else table.insert(_args,argdefault or nil_param) end end for i, x in ipairs(_args) do if Infobox.isDefined(x) then local _x = mw.text.split(tostring(x), Infobox.splitpoint, true) for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) if not smw_data_arr_elem[v] then smw_data_arr_elem[v] = {} end table.insert(smw_data_arr_elem[v], temp_smw_data) end end end else if Infobox.isDefined(_arg) then local _targ = mw.text.split(tostring(_arg), Infobox.splitpoint, true) for _,y in ipairs(_targ) do local temp_smw_data = smwfunc(y) if not smw_data_arr_elem[v] then smw_data_arr_elem[v] = {} end table.insert(smw_data_arr_elem[v], temp_smw_data) end end end end end -- if is a switchfo, setup for subobjects local smw_data_arr_subobj = {} if self._smwSubobjectAppliesTo then for i,k in ipairs(self._smwSubobjectAppliesTo) do local subobj_data = { ['Is variant of'] = {pagename}, } for w,v in pairs(self._smwSubobject) do local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local argval = curarg.d if curarg.switches then argval = curarg.switches[i] if not Infobox.isDefined(argval) then argval = curarg.d end end if Infobox.isDefined(argval) then local _x = mw.text.split(tostring(argval), Infobox.splitpoint, true) for _, _x1 in ipairs(_x) do _x1 = smwfunc(_x1) if _x1 ~= 'unknown' then if not subobj_data[v] then subobj_data[v] = {} end table.insert(subobj_data[v], _x1) end end end end end for w,v in ipairs(k) do local subobj_name = v -- can't have a . in the first 5 characters of a subobject identifier if mw.ustring.find(mw.ustring.sub(subobj_name,0,5), '%.') then self:wikitext('[[Category:Pages with an invalid subobject name]]') subobj_name = mw.ustring.gsub(subobj_name, '%.', '') end if subobj_name == '0' or subobj_name == '' then self:wikitext('[[Category:Pages with an invalid subobject name]]') subobj_name = 'v_'..subobj_name end smw_data_arr_subobj[subobj_name] = subobj_data end end end local res = mw.smw.set(smw_data_arr) local res_subobj = true for w,v in pairs(smw_data_arr_subobj) do res_subobj = mw.smw.subobject(v, w) if not res_subobj == true then break end end if not (res == true and res_subobj == true) then self.smw_error_tag = mw.html.create('div'):css('display','none'):addClass('infobox-smw-data') if not res == true then self.smw_error_tag:tag('div'):wikitext('Error setting SMW properties: '+res.error):done() end if not res_subobj == true then self.smw_error_tag:tag('div'):wikitext('Error setting SMW subobject properties: '+res_subobj.error):done() end end if self.setSMWElement then if self.smw_error_tag == '' then self.smw_error_tag = mw.html.create('div'):css('display','none'):addClass('infobox-smw-data') end for i,v in pairs(smw_data_arr_elem) do for j,k in ipairs(v) do if k ~= 'unknown' then self.smw_error_tag:tag('span'):wikitext(mw.ustring.format('%s: [[%s::%s]]', i,i,k )) end end end end if self._smwSubobjectAppliesTo then if self.smw_error_tag == '' then self.smw_error_tag = mw.html.create('div'):css('display','none'):addClass('infobox-smw-data') end for w,v in pairs(smw_data_arr_subobj) do local subobjdiv = self.smw_error_tag:tag('div') subobjdiv:tag('span'):wikitext('SMW Subobject for '..w) for j,k in pairs(v) do subobjdiv:tag('span'):wikitext(mw.ustring.format('%s: %s', j, table.concat(k, ', '))) end end end end -- Add view and talk links to infobox -- Only done if a name is defined if self.infoboxname and not self.bottomlinks.hide then local bottom_links = {} for _, v in ipairs(self.bottomlinks.links) do table.insert(bottom_links, string.format( table.concat({'[[', v[1], '|', v[2], ']]'}), self.infoboxname, self.infoboxname, self.infoboxname, self.infoboxname, self.infoboxname) ) end bottom_links = table.concat(bottom_links,' &bull; ') self.rtable:tag('tr'):tag('td') :addClass('infobox-template-links') :attr('colspan', self.bottomlinks.colspan) :wikitext(bottom_links) :done() end -- Define as finished self.__finished = true end --[[ Function for defining parameters -- name : parameter name -- func : function to define param, defaults to looking at blanks DO NOT DEFINE VERSION HERE USE :maxVersion() Can be used any number of times for efficient definition --]] function Infobox:defineParams(...) for _, v in ipairs(...) do -- For every parameter, store its corresponding function to self.params if v.name then -- If the value is a function or a table (which should define a function) if type(v.func) == 'function' or type(v.func) == 'table' then self.params[v.name] = v.func -- If the value is a string, use the predefined Infobox function of that name elseif type(v.func) == 'string' then self.params[v.name] = func_map[v.func] or hasContent -- Everything else just looks for blanks else self.params[v.name] = hasContent() end -- Create a list of all param names table.insert(self.paramnames,v.name) -- function to allow duplicated values if v.dupes then self.dupeable[v.name] = true end end end end --[[ -- Forces an infobox to only use 1 variant -- Mainly used by lite infoboxes -- This should be run before creation --]] function Infobox:noSwitch() self.versions = 1 self.switchfo = false end --[[ -- Calculates the max version -- Adds labels -- Sees if this needs to be a switch infobox -- Returns extra version count (even if already run) --]] function Infobox.maxVersion(box) -- Only allowed to run once if box.versions ~= -1 then return box.versions end box.labels = {} box.versions = 0 local smwappliesto = {} -- Look for up to 125 variants, defined in order for i=1, 125 do -- If variant# exists if box.args['version'..i] then -- Increase version count box.versions = box.versions + 1 -- Add its label local label = box.args['version'..i] or ('Version '..i) table.insert(box.labels,label) -- add to appliesto if box.args['smwname'..i] or box.args['appliesto'..i] then table.insert(smwappliesto, mw.text.split(box.args['smwname'..i] or box.args['appliesto'..i], '¦')) else table.insert(smwappliesto, {label}) end else -- Stop if it doesn't exist break end end -- Define self as a switch infobox if at least 1 other version is found if box.versions > 0 then box.switchfo = true box._smwSubobjectAppliesTo = smwappliesto else -- single version, check for appliesto if box.args['smwname'] or box.args['appliesto'] then box._smwSubobjectAppliesTo = {mw.text.split(box.args['smwname'] or box.args['appliesto'], '¦')} end end -- versions calculated return box.versions end --[[ -- Cleans parameters as defined by the above function -- SHOULD NOT BE RUN UNTIL ALL THINGS ARE DEFINED -- Handles switches as well -- adds table _add to rargs, a cleaned up version of arguments -- d : default value -- switches : table of switches (in numerical order) -- Functions can be defined with tables ---- name : name of function ---- params : table of args to pass to functions ---- flag : flags for input d | #default : use the cleaned parameter first, otherwise passed p : use the passed value of parameters r | l : use raw (literal) text, rather than values -- Defining a single flag will use that flag on all parameters -- Defining a table of flags will use the respective flag by position --]] function Infobox:cleanParams() -- map of flags to functionality local flagmap = { r = 'r', l = 'r', d = 'd', p = 'p' } -- For all parameters named for _, v in ipairs(self.paramnames) do -- Parameter to add local _add = {} local catdata = { all_defined = true, one_defined = false } -- If the value of params is a function if type(self.params[v]) == 'function' then -- Perform that function with the parameter _add.d = self.params[v](self.args[v]) -- If it's a table, parse it into a function elseif type(self.params[v]) == 'table' then -- Find the functions name local func = self.params[v].name if type(func) == 'string' then func = func_map[func] end -- catch all if type(func) ~= 'function' then func = has_content end -- Recreate table of args and flags local func_args = {} local flag = {} -- If the flags are NOT a table, turn them into a table -- Same size as the parameter table -- Every flag will be the same if type(self.params[v].flag) ~= 'table' then -- Map flags, if unmapped, use default local _flag = flagmap[self.params[v].flag] or 'd' -- recreate table for x=1,#self.params[v].params do table.insert(flag,_flag) end -- If flags are already a table, recreate them in new table elseif type(self.params[v].flag) == 'table' then local _flag = self.params[v].flag -- recreate table for x=1,#self.params[v].params do -- Map flags, if unmapped, use default table.insert(flag,flagmap[_flag[x]] or 'd') end end -- Recreate param table, parsing flags as instructions for x, w in ipairs(self.params[v].params) do local xarg -- By default or defined as 'd' -- looks for the cleaned value of the named parameter first -- if it doesn't exist, look at the passed value next -- if that doesn't exist, use blank if flag[x] == 'd' then xarg = self.rargs[w] and self.rargs[w].d -- compare to nil explicitly because false is a valid value if xarg == nil then xarg = self.args[w] or '' end -- Look only at the passed value of the named parameter -- if that doesn't exist, use blank elseif flag[x] == 'p' then xarg = self.args[w] or '' -- Don't interpret value as a parameter name, and paste the as is elseif flag[x] == 'r' then xarg = w end -- Add parsed argument to table table.insert(func_args,xarg) end -- Run function _add.d = func(unpack(func_args)) end if _add.d == nil or _add.d == nil_param then -- have to do pagename defaults here to prevent weird behaviour with switch values if v == 'name' then _add.d = pagename else _add.d = edit end catdata.all_defined = false else --_add.d is not nil catdata.one_defined = true end if self.switchfo then -- Table of switches values and count of them local _add_switch = {} local switches = 0 -- Look for up to the maximum number for i=1, self.versions do local _addarg -- see if this param is allowed to have switch if v ~= 'image' and v ~= 'examine' and string.find(self.args[v..i] or '','%$%d') then local refi = string.match(self.args[v..i],'%$(%d+)') _addarg = _add_switch[tonumber(refi)] or nil_param else -- If the value of params is a function if type(self.params[v]) == 'function' then -- Perform that function with the parameter at that index _addarg = self.params[v](self.args[v..i]) -- If it's a table, parse it into a function elseif type(self.params[v]) == 'table' then -- Find the functions name local func = self.params[v].name if type(func) == 'string' then func = func_map[func] end -- catch all if type(func) ~= 'function' then func = has_content end -- Recreate table of args and flags local func_args = {} local flag = {} -- If the flags are NOT a table, turn them into a table -- Same size as the parameter table -- Every flag will be the same if type(self.params[v].flag) ~= 'table' then -- Map flags, if unmapped, use default local _flag = flagmap[self.params[v].flag] or 'd' -- recreate table for x=1,#self.params[v].params do table.insert(flag,_flag) end -- If flags are already a table, recreate them in new table elseif type(self.params[v].flag) == 'table' then local _flag = self.params[v].flag -- recreate table for x=1,#self.params[v].params do -- Map flags, if unmapped, use default table.insert(flag,flagmap[_flag[x]] or 'd') end end -- Recreate param table, parsing flags as instructions for x, w in ipairs(self.params[v].params) do local xarg -- By default or defined as 'd' -- looks for the cleaned value of the named parameter first -- if it doesn't exist, look at the passed value next -- if that doesn't exist, look at the default -- if that doesn't exist, use blank if flag[x] == 'd' then if self.rargs[w] then if self.rargs[w].switches then xarg = self.rargs[w].switches[i] else xarg = self.args[w..i] end if xarg == nil or xarg == nil_param then xarg = self.rargs[w].d end end -- multiple catches in a row just to cover everything if xarg == nil or xarg == nil_param then xarg = self.args[w..i] end if xarg == nil or xarg == edit or xarg == nil_param then xarg = self.args[w] end if xarg == nil or xarg == edit or xarg == nil_param then xarg = '' end -- Look only at the passed value of the named parameter -- if that doesn't exist, use unnumbered parameter -- if that doesn't exist, use blank elseif flag[x] == 'p' then xarg = self.args[w..i] or self.args[w] or '' -- Don't interpret value as a parameter name, and paste the as is elseif flag[x] == 'r' then xarg = w end -- Add parsed argument to table table.insert(func_args,xarg) end -- Run function _addarg = func(unpack(func_args)) end end -- If not defined, add the nil_param value -- An actual nil would cause errors in placement -- So it needs to be filled with an actual value -- "nil_param" is understood as nil in other functions -- Include table in case parameter isn't defined by template if _addarg == nil or _addarg == nil_param then table.insert(_add_switch, nil_param) else switches = switches + 1 table.insert(_add_switch, _addarg) catdata.one_defined = true end end -- If there are actually other values to switch to -- Define a switches subtable, otherwise ignore it if switches > 0 then _add.switches = _add_switch end end -- Quick fix for names (which defaults to pagename) if v == 'name' then if _add.d == pagename then if _add.switches and _add.switches[1] ~= pagename and _add.switches[1] ~= nil_param then _add.d = _add.switches[1] end end end -- Parameter cleaning finished, add to table of cleaned args self.rargs[v] = _add -- Category metadata -- If every param except default is defined, all_defined = true if catdata.all_defined == false then if _add.d == edit then if _add.switches then catdata.all_defined = true for _, v in ipairs(_add.switches) do if v == nil_param then catdata.all_defined = false break end end end end end self.catdata[v] = catdata end -- mass dupe removal -- this needs to be done at the end to keep dependent parameters working -- also removes incompatible data types for _, v in ipairs(self.paramnames) do -- not removed from dupe enabled params parameters if not self.dupeable[v] and self.rargs[v] and self.rargs[v].switches then -- tells us whether or not we'll need to remove the switch data -- switched to false if a switch values does not match the default local rmvswitch = true for q, z in ipairs(self.rargs[v].switches) do -- remove types that don't turn into strings properly if type(z) == 'table' or type(z) == 'function' then self.rargs[v].switches[q] = nil_param -- if it isn't nil or an edit button -- change variable to keep the switch data elseif z ~= nil_param and z ~= edit then rmvswitch = false end end -- remove switch data if everything was a dupe if rmvswitch then self.rargs[v].switches = nil end end end -- Title parentheses (has to be done here, sadly) local _name if self.rargs.name then _name = self.rargs.name.d -- replace html entities to their actual character _name = mw.text.decode(_name) -- if the page name matches the item name, don't add parentheses if _name == mw.title.getCurrentTitle().fullText then self.rtable:addClass('no-parenthesis-style') end end end --[[ Function to link internal use parameters with JS class attribution -- self:linkParams{ { arg1, arg2 }, ... { arg1a, arg2a } } -- arg1: parameter name being linked -- arg2: parameter name that holds the classes -- THIS FUNCTION SHOULD BE RUN AFTER :cleanParams() -- THIS FUNCTION SHOULD BE RUN BEFORE :finish() -- The second argument's data should always contain a value (a CSS class name) at every index -- This function is cancelled for non switch boxes --]] function Infobox:linkParams(...) if not self.switchfo then return end for _, v in ipairs(...) do self.switchfoattr[v[1]] = self.rargs[v[2]] end end --[==========================================[ -- Functions for accessing parameters easily --]==========================================] --[[ Access the param -- arg : param name -- retp : return type d | #default : self.rargs[arg].d -- Default value f | full : self.rargs[arg] -- Entire table s | switches : self.rargs[arg].switches -- Entire switch table s# : self.rargs[arg].switches[#] -- Single switch value at index # r : switches[1] or d --]] function Infobox:param(arg, retp) -- All parameters if arg == 'all' then return self.rargs end -- case-insensitive flagging retp = tostring(retp):lower() local fmap = { d = 'd', default = 'd', s0 = 'd', -- let s-naught count as default (since that's what it is) f = 'f', full = 'f', s = 's', switch = 's', switches = 's', r = 'r' } local ret_func -- quickly see if the parameter is a value greater than 0 if retp:match('s[1-9]') then ret_func = 's2' else -- Otherwise map it to the correct flag, or the default ret_func = fmap[retp] or fmap.d end -- Fetch parameter local param = self.rargs[arg] -- Return nil if no table found if not param then return nil end -- Return default if ret_func == 'd' then return param.d end -- Return full table if ret_func == 'f' then return param end -- Return switch table if ret_func == 's' then return param.switches end -- Return the first switch, otherwise the default if ret_func == 'r' then if not param.switches then return param.d elseif param.switches[1] == nil_param then return param.d else return param.switches[1] end end -- If s2, reread the param if ret_func == 's2' then -- no switches if not param.switches then return nil end -- Parse index by removing the s local index = retp:match('s(%d+)') -- nil_param if param.switches[index] == nil_param then return nil else return param.switches[index] end end end --[[ Checks if a parameter is defined and not blank -- arg : parameter to look at -- index : index of switches to look at (defaults to default param) -- defining 'all' will look at every possible value for the parameter --]] function Infobox:paramDefined(arg,index) -- Can use cleaned params for switches -- but need the passed to identify blanks in the template local param = self.rargs[arg] local _arg = self.args[arg] if string.find(_arg or '','%?action=edit') then _arg = '' end index = index or 0 local ret -- create a long strong of every value to test for things if 'all' if string.lower(index) == 'all' then return self.catdata[arg] and (self.catdata[arg].one_defined or self.catdata[arg].all_defined) -- index to number otherwise else index = tonumber(index) or 0 if index == 0 then if param.switches then if Infobox.isDefined(param.switches[1]) then ret = param.switches[1] else ret = _arg end else ret = _arg end else if not param.switches then return nil end if param.switches[index] == nil_param then return nil end ret = param.switches[index] end end return tostring(ret or ''):find('%S') end --[[ Function to perform a search on all parameters of a defined name -- param: param name -- val: a value or function -- functions passed must return either true or false -- with true being counted as a match --]] function Infobox:paramGrep(param,val) local arg = self.rargs[param] -- if no parameters, return nil if not arg then return nil end local ret local valtype = type(val) -- start with the default value -- if it's a function, run it if valtype == 'function' then ret = val(arg.d) -- true means it matched if ret == true then return ret end -- switches up here for functions if arg.switches then for _, v in ipairs(arg.switches) do ret = val(v) if ret == true then return true end end end -- if it's just a value, compare the two -- only run if types match to avoid errors -- compare switches later elseif valtype == type(arg.d) then -- if a string, make case insensitive if valtype == 'string' then if string.lower(val) == string.lower(arg.d) then return true end -- everything else just test directly elseif val == arg.d then return true end end -- switch cases -- more organized putting them here if arg.switches then for _, v in ipairs(arg.switches) do if valtype == type(v) then if valtype == 'string' then if val:lower() == v:lower() then return true end elseif val == v then return true end end end end -- return false in every other case return false end ------ function Infobox.paramRead(arg,val) -- if no parameters, return nil if not arg then return nil end local ret local valtype = type(val) -- start with the default value -- if it's a function, run it if valtype == 'function' then ret = val(arg.d) -- true means it matched if ret == true then return ret end -- switches up here for functions if arg.switches then for _, v in ipairs(arg.switches) do ret = val(v) if ret == true then return true end end end -- if it's just a value, compare the two -- only run if types match to avoid errors -- compare switches later elseif valtype == type(arg.d) then -- if a string, make case insensitive if valtype == 'string' then if string.lower(val) == string.lower(arg.d) then return true end -- everything else just test directly elseif val == arg.d then return true end end -- switch cases -- more organized putting them here if arg.switches then for _, v in ipairs(arg.switches) do if valtype == type(v) then if valtype == 'string' then if val:lower() == v:lower() then return true end elseif val == v then return true end end end end -- return false in every other case return false end ---- -- Return collected category data function Infobox:categoryData() return self.catdata end -- Override tostring function Infobox.tostring(box) -- If not finished, finish if not box.__finished then box:finish() end -- Make entire html wrapper a string and return it local btns = box.switch_buttons_tag if box.custom_buttons then btns = '' end if box.args.__dump__ then return '<' .. 'pre>'..mw.dumpObject(box) .. '</' .. 'pre>[[Category:Dumping infoboxes]]' end return tostring(btns) .. tostring(box.rtable) .. table.concat(box.appendStrs, '') .. tostring(box.switch_tag) .. tostring(box.smw_error_tag) end return Infobox -- </nowiki> f5caafc5480c6999a5bb27d9d86487ba83e9c705 Hopeport Obelisk 0 97 233 156 2024-03-22T15:24:25Z InvalidCards 4 wikitext text/x-wiki The '''Hopeport Obelisk''' is a location near [[Hopeport]]. It is likely that it will be used as a fast travel location. [[Category:Locations]] 4569e35408ccaeb7ef787ab7ad6a690f83f6e6c7 Lani 0 93 234 150 2024-03-22T15:24:34Z InvalidCards 4 wikitext text/x-wiki '''Lani''' is the owner of [[Lani's Curiosities]]. [[Category:NPCs]] ecdbd38f8d9dae4cd0f99700284c72463dc22dca Category:Non-player characters 14 130 235 2024-03-22T15:24:54Z InvalidCards 4 Created page with "{{Categoryheader|pages|non-player characters}} [[Category:Content]]" wikitext text/x-wiki {{Categoryheader|pages|non-player characters}} [[Category:Content]] 655e8f5d30399163f0b4ca926887fbfa3fff768d Lani's Curiosities 0 92 236 149 2024-03-22T15:25:12Z InvalidCards 4 wikitext text/x-wiki '''Lani's Curiosities''' is a shop run by [[Lani]]. [[Category:Shops]] 9e4fcbf76185d7a91d3dfd31724378391bc4750c Category:Shops 14 131 237 2024-03-22T15:25:29Z InvalidCards 4 Created page with "{{Categoryheader|pages|shops}} [[Category:Locations]]" wikitext text/x-wiki {{Categoryheader|pages|shops}} [[Category:Locations]] 56d8bfb03e8270a6ef063a6abcddc55b0b29e61e Leech Pools 0 78 238 135 2024-03-22T15:25:44Z InvalidCards 4 wikitext text/x-wiki The '''Leech Pools''' is a watery cave system. [[Category:Locations]] 2f0e7115499731936e3b84679e281d476a0c7bf3 Melv 0 87 239 144 2024-03-22T15:25:54Z InvalidCards 4 wikitext text/x-wiki '''Melv''' is the shop owner of [[Melv's Fishing Supplies]]. [[Category:NPCs]] ff707289de22590c6c08556670565c120a21a32e Melv's Fishing Supplies 0 86 240 143 2024-03-22T15:26:03Z InvalidCards 4 wikitext text/x-wiki '''Melv's Fishing Supplies''' is a [[Fisher]] shop run by [[Melv]]. [[Category:Shops]] 3e2725edf4fc751968477d035726db8eb75fea7a Mine of Mantuban 0 74 241 127 2024-03-22T15:26:14Z InvalidCards 4 wikitext text/x-wiki '''Mine of Mantuban''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. [[Category:Locations]] 121adad259d5d1ffefe283219c05d95aee17fd8f Premium Pass 0 76 242 129 2024-03-22T15:26:51Z InvalidCards 4 wikitext text/x-wiki The '''Premium Pass''' is a type of membership that can be purchased using real money. It provides access to a number of new areas and features in [[Brighter Shores]]. ==Benefits== There are several benefits to purchasing a Premium Pass: * Access to the [[Mine of Mantuban]] and [[Crenopolis]] * Ability to choose a unique character name, and change your name at any point * Access to exclusive armour dyes * Ability to [[trade]] with other [[player]]s [[Category:Community]] dc97b553653c9de1aa69946d190d6952c6aad582 Category:Community 14 132 243 2024-03-22T15:27:23Z InvalidCards 4 Created page with "{{Categoryheader|pages|''[[Brighter Shores]]''}} [[Category:Content]]" wikitext text/x-wiki {{Categoryheader|pages|''[[Brighter Shores]]''}} [[Category:Content]] 0394c3c3da624e18667b4e9665438431c4b1211d Quiet Grove 0 101 244 160 2024-03-22T15:27:37Z InvalidCards 4 wikitext text/x-wiki The '''Quiet Grove''' is a location. It has an entrance to a mine. [[Category:Locations]] 72750ebe001a09f75086c62ae15b8a11572b4e2d Sneaky Thief 0 100 245 159 2024-03-22T15:27:48Z InvalidCards 4 wikitext text/x-wiki '''Sneaky Thieves''' are a type of monster. They have 1,100 health. [[Category:Monsters]] 58c8ce634e73b195d027aef9f5241a58cf011acc Module:Mainonly 828 133 246 2024-03-22T15:27:54Z Jayden 3 Created page with "--[[ {{Helper module|name=Mainonly |fname1=_main(arg) |ftype1=Any value |fuse1=If the module is invoked in the content namespace, it will return arg, otherwise, it will return an empty string |fname2=on_main() |ftype2=N/A |fuse2=Returns true if invoked in the content namespace, otherwise false }} --]] -- -- Module to return text only when invoked in the content namespace -- local p = {} function p.main(frame) local ret = frame:getParent().args[1] or '' return p._main..." Scribunto text/plain --[[ {{Helper module|name=Mainonly |fname1=_main(arg) |ftype1=Any value |fuse1=If the module is invoked in the content namespace, it will return arg, otherwise, it will return an empty string |fname2=on_main() |ftype2=N/A |fuse2=Returns true if invoked in the content namespace, otherwise false }} --]] -- -- Module to return text only when invoked in the content namespace -- local p = {} function p.main(frame) local ret = frame:getParent().args[1] or '' return p._main(ret) end function p._main(text) if mw.title.getCurrentTitle().namespace == 0 then return text else return '' end end -- -- Boolean for whether or not the page is in the mainspace -- Sometimes it might be better to just check first -- Rather than spend processing time on something that won't be used function p.on_main() return mw.title.getCurrentTitle().namespace == 0 end return p 0b0ce35da260beba011cdd83e1eb2d415a04812d Category:Monsters 14 134 248 2024-03-22T15:28:12Z InvalidCards 4 Created page with "{{Categoryheader|pages|attackable entities}} [[Category:Content]]" wikitext text/x-wiki {{Categoryheader|pages|attackable entities}} [[Category:Content]] c3abb078804b50cd33f1bf84f361daa2070951c5 Southeast Sewer 0 88 249 145 2024-03-22T15:28:27Z InvalidCards 4 wikitext text/x-wiki The '''Southeast Sewer''' is a location. [[Category:Locations]] 09df6df111e7a077e6c853d761023409254a7f19 Tanners Road 0 80 250 137 2024-03-22T15:28:47Z InvalidCards 4 wikitext text/x-wiki '''Tanners Road''' is a road in [[Hopeport]]. It features various market stalls. [[Category:Locations]][[Category:Hopeport]] 331b46d28344afb499cbc26cc8041189cf1ad184 Module:Infobox Class 828 135 251 2024-03-22T15:29:09Z Gau Cho 5 Test Scribunto text/plain -------------------------- -- Module for [[Template:Infobox Class]] ------------------------ local p = {} local infobox = require('Module:Infobox') local onmain = require('Module:Mainonly').on_main function p.main(frame) local args = frame:getParent().args local ret = infobox.new(args) ret:defineParams{ { name = 'name', func = 'name' }, { name = 'image', func = 'image' }, { name = 'episode', func = 'has_content' }, } ret:create() ret:cleanParams() ret:defineName('Infobox Class') ret:addClass('infobox-class') ret:addRow{ { tag = 'argh', content = 'name', class='infobox-header', colspan = '20' } } :pad(20) :addRow{ { tag = 'argd', content = 'image', class = 'infobox-image infobox-full-width-content', colspan = '20' } } :pad(20) :addRow{ { tag = 'th', content = 'Episode', colspan = '7' }, { tag = 'argd', content = 'episode', colspan = '13' } } return ret:tostring() end return p a7cbe0ad2557913a4c706f1b3f8de1821eafd7a1 Category:Hopeport 14 136 252 2024-03-22T15:29:10Z InvalidCards 4 Created page with "{{Categoryheader|pages|[[Hopeport]]}} [[Category:Locations]]" wikitext text/x-wiki {{Categoryheader|pages|[[Hopeport]]}} [[Category:Locations]] f52067c692f67a8ebc761ba7380477558ce6b2bc Hopeport 0 68 253 231 2024-03-22T15:29:24Z InvalidCards 4 wikitext text/x-wiki '''Hopeport''' is a town in [[Brighter Shores]]. It serves as the main introductory town for new [[player]]s. ==Features== * A [[Hopeport Harbor|harbor]] [[Category:Locations]][[Category:Hopeport|#]] c8a4ce38dc38da3340e13026d0f7d4a143f7dafe The Delectable Dab Restaurant 0 89 254 146 2024-03-22T15:29:39Z InvalidCards 4 wikitext text/x-wiki '''The Delectable Dab Restaurant''' is a restaurant. [[Category:Shops]] 7bffc021df57b7c269d803192e85b631e80c5870 Truck Cave 0 94 255 152 2024-03-22T15:29:49Z InvalidCards 4 wikitext text/x-wiki The '''Truck Cave''' is a cave filled with minecart rails. [[Category:Locations]] 352ec066c802d7a5a3c6e8fc1640573d04e68a69 Wailing Shade 0 85 256 142 2024-03-22T15:30:01Z InvalidCards 4 wikitext text/x-wiki '''Wailing Shades''' are monsters. They have 682 health. [[Category:Monsters]] 55324b132acfc8bd7394e75d1bd48e4bcf4cfdf2 Module:References 828 137 257 2024-03-22T15:30:21Z Jayden 3 Created page with "-- Master module implementing reference templates -- local onmain = require('Module:Mainonly').on_main local paramtest = require('Module:Paramtest') local hc = paramtest.has_content local dt = paramtest.default_to local yn = require('Module:Yesno') local lang = mw.getContentLanguage() local p = {} --all template entrance points here local r = {} --reference formatters here to not expose them to #invoke, and to not clutter p local lostRefere..." Scribunto text/plain -- Master module implementing reference templates -- local onmain = require('Module:Mainonly').on_main local paramtest = require('Module:Paramtest') local hc = paramtest.has_content local dt = paramtest.default_to local yn = require('Module:Yesno') local lang = mw.getContentLanguage() local p = {} --all template entrance points here local r = {} --reference formatters here to not expose them to #invoke, and to not clutter p local lostReferenceMsg = '<sup class="noprint fact">&#91;<span class="fact-text"title="The page referenced can no longer be accessed. Please try to find an archived version of it or another reference for this statement if possible.">Lost reference</span>&#93;</sup>' function string.starts(String, Start) return string.sub(String, 1, string.len(Start)) == Start end -- for consistent date formats - cons: can't link dates local function formatDate(datep) local datetbl = {} datetbl.day = lang:formatDate('j', datep) datetbl.month = lang:formatDate('F', datep) datetbl.year = lang:formatDate('Y', datep) return lang:formatDate('j F Y', datep), datetbl end -- create the ref tag to be returned local function reftag(frame, reftype, forcedArgs) local args = frame:getParent().args local s = '' local opts = {} if forcedArgs ~= nil then for k, v in pairs(forcedArgs) do args[k] = v end end if hc(args.name) then opts.name = args.name end if hc(args.group) then opts.group = args.group end local ref, cat = r[reftype](args) return frame:extensionTag{name = 'ref', content = mw.text.tag('span', {['class']= 'citation ' .. reftype }, ref .. cat), args = opts} end local function plainref(frame, reftype, forcedArgs) local args = frame:getParent().args if forcedArgs ~= nil then for k, v in pairs(forcedArgs) do args[k] = v end end local ref, cat = r[reftype](args) return mw.text.tag('span', {['class']= 'citation ' .. reftype }, ref .. cat) end ------------ Helper Templates ----------------- --[==[ [[Template:NamedRef]] --]==] function p.namedref(frame) local args = frame:getParent().args local opts = {} opts.name = args.name or args[1] if hc(args.group) then opts.group = args.group elseif hc(args[2]) then opts.group = args[2] end return frame:extensionTag{name = 'ref', args = opts} end --[==[ [[Template:Reflist]] --]==] function p.reflist(frame) local args = frame:getParent().args local div = mw.html.create('div') local resp = 1 if hc(args[1]) or hc(args.colwidth) then div:css({ ['column-width'] = args[1] or args.colwidth }) resp = 0 end div :addClass('reflist') :wikitext(frame:extensionTag{name = 'references', args = {group = args.group, responsive = resp}}) -- Implement {{Notelist}} if args.group == 'lower-alpha' then div:addClass('reflist-lower-alpha') end if not yn(args.quotes) then div:addClass('hideQuotes') end return div end ------------ General Citation Templates ----------------- --[==[ [[Template:CitePub]] and [[Template:PlainCitePub]] --]==] function p.pubref(frame) return reftag(frame, 'pub') end function p.pubplain(frame) return plainref(frame, 'pub') end function r.pub(a) local ref = '' local c = '' if hc(a.author) then ref = a.author .. '. ' end local str = '' if hc(a.title) then ref = ref .. "''" .. a.title .. "''" if hc(a.pages) then ref = ref .. ', (' .. a.pages .. ')' end ref = ref .. '. ' end if hc(a.publisher) then ref = ref .. a.publisher if hc(a.pubyear) then ref = ref .. ', ' .. a.pubyear end ref = ref .. '. ' elseif hc(a.pubyear) then ref = ref .. a.pubyear .. '. ' end ref = ref .. (a.notes or '') if onmain() and not (hc(a.title) and hc(a.publisher) and hc(a.pubyear)) then c = c .. '[[Category:Incomplete references]]' end return ref, c end --[==[ [[Template:CiteTwitter]] and [[Template:PlainCiteTwitter]] --]==] function p.twitterref(frame) return reftag(frame, 'twitter') end function p.twitterplain(frame) return plainref(frame, 'twitter') end function r.twitter(a) local ref local c = '' ref = 'Fen Research. ' if hc(a.url) or hc(a.archiveurl) then --url, if present makes a link if hc(a.archiveurl) then ref = ref .. '[' .. a.archiveurl elseif hc(a.url) then ref = ref .. '[' .. a.url end if hc(a.author) then ref = ref .. ' ' .. a.author .. "'s Twitter account"--if title not present leave as link end ref = ref .. ']. ' elseif hc(a.author) then ref = ref .. ' ' .. a.author .. "'s Twitter account. " end if hc(a.date) then a.date = formatDate(a.date) ref = ref .. a.date .. '. ' end if hc(a.archivedate) then a.archivedate = formatDate(a.archivedate) ref = ref .. ' Archived from [' .. a.url .. ' the original] on ' .. a.archivedate .. '. ' end if hc(a.quote) then if hc(a.author) then ref = ref .. a.author .. ': ' end ref = ref .. '"' .. a.quote .. '" ' end ref = ref .. (a.notes or '') if hc(a.lost) then ref = ref .. lostReferenceMsg end local err = '' if not (hc(a.url) and hc(a.author) and hc(a.date)) then err = err .. "Error calling CiteTwitter: parameters '''url''', '''author''', '''quote''', and '''date''' must be specified.<br>" end if hc(a.archiveurl) ~= hc(a.archivedate) then --xor err = err .. "Error calling CiteTwitter: parameters '''archiveurl''' and '''archivedate''' must both be specified or both be unspecified.<br>" end if onmain() and err ~= '' then c = c .. '[[Category:Incomplete references]]' end if onmain() and not hc(a.archiveurl) then if hc(a.lost) then c = c .. '[[Category:Lost Twitter references]]' else c = c .. '[[Category:Unarchived Twitter references]]' end end return ref, c end --[==[ [[Template:CiteVideo]] and [[Template:PlainCiteVideo]] --]==] function p.videoref(frame) return reftag(frame, 'video') end function p.videoplain(frame) return plainref(frame, 'video') end function r.video(a) local ref local c = '' if hc(a.author) then ref = a.author .. '. ' end if hc(a.url) then --url, if present makes a link if string.lower(a.site) == 'youtube' then if string.starts(a.url, 'https://www.youtube.com/watch?v=') then ref = ref .. '[' .. a.url else ref = ref .. '[https://www.youtube.com/watch?v=' .. a.url end elseif string.lower(a.site) == 'twitch' then if string.starts(a.url, 'https://www.twitch.tv/videos/') then ref = ref .. '[' .. a.url elseif string.starts(a.url, 'https://clips.twitch.tv/') then ref = ref .. '[' .. a.url else ref = ref .. '[https://www.twitch.tv/videos/' .. a.url end else ref = ref .. '[' .. a.url end if hc(a.title) then ref = ref .. ' "' .. a.title .. '"'--if title not present leave as link end ref = ref .. '] ' else if hc(a.title) then ref = ref .. '"' .. a.title .. '" ' end end if hc(a.timestamp) then ref = ref .. '(in ' .. a.timestamp .. '). ' else ref = ref .. '. ' end ref = ref .. dt(a.site, 'YouTube') .. ' video. ' if hc(a.date) then a.date = formatDate(a.date) ref = ref .. a.date .. '. ' end ref = ref .. (a.notes or '') if onmain() then if not (hc(a.author) and hc(a.url) and hc(a.title) and hc(a.date)) then c = c .. '[[Category:Incomplete references]]' end end return ref, c end --[==[ [[Template:CiteGeneral]] and [[Template:PlainCiteGeneral]] --]==] function p.generalref(frame) return reftag(frame, 'general') end function p.generalplain(frame) return plainref(frame, 'general') end function r.general(a) local ref = '' local c = '' local str = '' if hc(a.author) or hc(a.last) then if hc(a.last) then str = a.last if hc(a.first) then str = str .. ', ' .. a.first end else str = a.author end if hc(a.authorlink) then ref = ref .. '[' .. a.authorlink if str ~= '' then ref = ref .. ' ' .. str end ref = ref .. ']' else ref = ref .. str end if hc(a.coauthors) then ref = ref .. '; ' .. a.coauthors end ref = ref .. '. ' end if hc(a.title) then if hc(a.archiveurl) then ref = ref .. '[' .. a.archiveurl .. ' ' .. a.title .. ']' elseif hc(a.url) then ref = ref .. '[' .. a.url .. ' ' .. a.title .. ']' end end if hc(a.format) then ref = ref .. ' (' .. a.format .. ')' end if hc(a.language) then ref = ref .. ' (in ' .. a.language .. ')' end if hc(a.work) then ref = ref .. ". ''" .. a.work .. "''" end if hc(a.pages) then ref = ref .. ' pp. ' .. a.pages end if hc(a.publisher) then ref = ref .. '. ' .. a.publisher end if hc(a.date) then a.date = formatDate(a.date) ref = ref .. '. ' .. a.date elseif hc(a.year) then if hc(a.month) then ref = ref .. '. ' .. a.month .. ' ' .. a.year else ref = ref .. '. ' .. a.year end end if ref ~= '' then ref = ref .. '.' end if hc(a.archivedate) then a.archivedate = formatDate(a.archivedate) ref = ref .. ' Archived from [' .. a.url .. ' the original] on ' .. a.archivedate .. '.' end if hc(a.quote) then ref = ref .. ' "' .. a.quote .. '"' end if hc(a.notes) then ref = ref .. ' ' .. a.notes end if hc(a.lost) then ref = ref .. lostReferenceMsg end local err = '' if not (hc(a.url) and hc(a.title)) then err = err .. "Error calling CiteGeneral: parameters '''url''' and '''title''' must be specified.<br>" end if hc(a.archiveurl) ~= hc(a.archivedate) then --xor err = err .. "Error calling CiteGeneral: parameters '''archiveurl''' and '''archivedate''' must both be specified or both be unspecified.<br>" end if not (hc(a.archiveurl) and hc(a.archivedate)) then ref = err .. ref .. mw.getCurrentFrame():expandTemplate{title = 'RefDate', args = { (a.accessdate or ''), '180'} } end if onmain() and err ~= '' then c = c .. '[[Category:Incomplete references]]' end --[==[ are these needed? if onmain() and not hc(a.archiveurl) then if hc(a.lost) then c = c .. '[[Category:Lost web references]]' else c = c .. '[[Category:Unarchived web references]]' end end ]==]-- return ref, c end --[==[ [[Template:CiteReddit]] and [[Template:PlainCiteReddit]] --]==] function p.redditref(frame) return reftag(frame, 'reddit') end function p.redditplain(frame) return plainref(frame, 'reddit') end function r.reddit(a) local ref, c = '', '' ref = dt(a.author, 'Fen Research') --author, defaults to Fen Research ref = ref .. '. ' if hc(a.url) or hc(a.archiveurl) then --url, if present makes a link if hc(a.archiveurl) then ref = ref .. '[' .. a.archiveurl elseif hc(a.url) then ref = ref .. '[' .. a.url end if hc(a.title) then ref = ref .. ' "' .. a.title end ref = ref .. '"]. ' end ref = ref .. "''Reddit''. " if hc(a.date) then a.date = formatDate(a.date) ref = ref .. a.date .. '. ' end if hc(a.archivedate) then a.archivedate = formatDate(a.archivedate) ref = ref .. ' Archived from [' .. a.url .. ' the original] on ' .. a.archivedate .. '. ' end if hc(a.quote) then if hc(a.author) then ref = ref .. a.author .. ': ' end ref = ref .. '"' .. a.quote .. '" ' end ref = ref .. (a.notes or '') if hc(a.lost) then ref = ref .. lostReferenceMsg end local err = '' if not (hc(a.url) and hc(a.author) and hc(a.quote) and hc(a.date) and hc(a.title)) then err = err .. "Error calling CiteReddit: parameters '''url''', '''author''', '''quote''', and '''date''', and '''title''' must be specified.<br />" end if hc(a.archiveurl) ~= hc(a.archivedate) then --xor err = err .. "Error calling CiteReddit: parameters '''archiveurl''' and '''archivedate''' must both be specified or both be unspecified.<br />" end if onmain() and err ~= '' then c = c .. '[[Category:Incomplete references]]' end if onmain() and not hc(a.archiveurl) then c = c .. '[[Category:Unarchived Reddit references]]' end return ref, c end return p 991374acaf08e76bccbeb033ea8d30c766e8987a Category:Factions 14 125 259 206 2024-03-22T15:30:46Z InvalidCards 4 wikitext text/x-wiki {{Categoryheader|pages|[[class]]es}} [[Category:Content]] 8121a80df1c7f4a25cec3ab28d8ea6da722652d5 Category:Fen Research 14 128 260 215 2024-03-22T15:31:25Z InvalidCards 4 wikitext text/x-wiki {{Categoryheader|pages|[[Fen Research]] and related topics}} [[Category:Content]] f75ef273a5763055ac1f0fe1be8cdeffd01c2210 Template:Reflist 10 139 261 2024-03-22T15:31:34Z Jayden 3 Created page with "<includeonly>{{#invoke:References|reflist}}</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>{{#invoke:References|reflist}}</includeonly><noinclude>{{/doc}}</noinclude> daea7423a6140216f078401407f2f289203fa99d User:Gau Cho 2 104 262 164 2024-03-22T15:31:45Z Gau Cho 5 wikitext text/x-wiki {{Infobox Class |name = Black Demon |image = [[File:Black Demon.png]] |episode = [[Hopeport]] }} 27170d06363128fc31bdbc4e228a34033cba0233 269 262 2024-03-22T15:33:07Z Gau Cho 5 wikitext text/x-wiki {{Infobox Class |name = Hello |image = [[File:World.png]] |episode = [[Hopeport]] }} 582542039c31a560596fcdd3fbd94d12becc8415 Category:Maintenance 14 112 263 183 2024-03-22T15:31:51Z InvalidCards 4 wikitext text/x-wiki {{Categoryheader|pages|general wiki maintenance}} [[Category:Brighter Shores Wiki community]] d49d33ed79bb5caa4d3d65bfcf967e55afddd846 Template:Reflist/doc 10 140 264 2024-03-22T15:32:12Z Jayden 3 Created page with "{{Documentation}} __NOTOC__ Use this template to create a reference list in an article with a small font. ==Usage== The basic usage requires no parameters: <pre>{{Reflist}}</pre> ===Quotes=== If the references contain a large number of quotes, to hide the quotes (and only the quotes) add <code>quotes=no</code>: <pre>{{Reflist|quotes=no}}</pre> ===Column width=== The width of columns is controlled using the first unnamed parameter or <code>colwidth</code>. As an exampl..." wikitext text/x-wiki {{Documentation}} __NOTOC__ Use this template to create a reference list in an article with a small font. ==Usage== The basic usage requires no parameters: <pre>{{Reflist}}</pre> ===Quotes=== If the references contain a large number of quotes, to hide the quotes (and only the quotes) add <code>quotes=no</code>: <pre>{{Reflist|quotes=no}}</pre> ===Column width=== The width of columns is controlled using the first unnamed parameter or <code>colwidth</code>. As an example, using <code><nowiki>{{Reflist|30em}}</nowiki></code> will allow the browser to dynamically choose the number of columns with widths of 30{{wp|em (typography)|em}}. The width supports and of the standard CSS length units: px, pt, em, %. Choose a column width that's appropriate for the average width of the references on the page. ===Groups=== To list references in a group, add <code>group=groupname</code>: <pre>{{Reflist|group=groupname}}</pre> {{TemplateData|<templatedata> { "params": { "1": { "aliases": [ "colwidth" ], "label": "Column width", "description": "Width of the columns. Supports standard CSS length units as input.", "example": "25em", "type": "line", "default": " 1 if less than 11 references; otherwise 30em." }, "group": { "description": "Limits the references listed to a specified group.", "type": "string", "label": "Group" }, "quotes": { "description": "Hides quotes inside the reference list when set to \"no\".", "type": "boolean", "default": "yes", "label": "Quotes" } }, "description": "Creates a reference list in an article.", "paramOrder": [ "group", "quotes", "1" ] } </templatedata>}} {{Citations}} <includeonly>[[Category:Reference templates]]</includeonly> b5a8576c97f22ad953e64d82f5ffb6f41889fc7d Template:TemplateData 10 141 265 2024-03-22T15:32:31Z Jayden 3 Created page with "<includeonly>{{#if:{{{noheader|}}}||==Template data==}} <table class="templatedata mw-collapsible mw-collapsed" style="text-align:center" data-expandtext="show" data-collapsetext="hide"> <tr><th style="min-width:400px">Show/hide template's data</th></tr> <tr><td> '''The following information is used by extensions and applications, such as VisualEditor, to help users implement this template onto pages. Please ensure that it is up-to-date.''' {{{1|}}} </td></tr> </table>..." wikitext text/x-wiki <includeonly>{{#if:{{{noheader|}}}||==Template data==}} <table class="templatedata mw-collapsible mw-collapsed" style="text-align:center" data-expandtext="show" data-collapsetext="hide"> <tr><th style="min-width:400px">Show/hide template's data</th></tr> <tr><td> '''The following information is used by extensions and applications, such as VisualEditor, to help users implement this template onto pages. Please ensure that it is up-to-date.''' {{{1|}}} </td></tr> </table>{{#if:{{{nocat|}}}||[[Category:Templates using TemplateData]]}}</includeonly><noinclude>{{/doc}}</noinclude> ad243ced2e0f45d406fb11dc2be02b08e97899ef Category:Brighter Shores Wiki community 14 142 266 2024-03-22T15:32:32Z InvalidCards 4 Created page with "{{Categoryheader|pages|the [[Project:About|Brighter Shores Wiki]] community}} [[Category:Brighter Shores Wiki]]" wikitext text/x-wiki {{Categoryheader|pages|the [[Project:About|Brighter Shores Wiki]] community}} [[Category:Brighter Shores Wiki]] 4bf0c1597345c87619a305252ab305c040a06aea Template:TemplateData/doc 10 143 267 2024-03-22T15:32:46Z Jayden 3 Created page with "{{Documentation}} This template should be used on other templates' documentation pages when adding template data using [[mw:Extension:TemplateData|Extension:TemplateData]]. This template accepts one unnamed parameter, which should be the the whole <code>templatedata</code> text. Also adds [[:Category:Templates using TemplateData]] to pages. {{TemplateData|nocat=yes| <templatedata> { "description": "Used on template docs to enclose the templatedata parser tag", "params..." wikitext text/x-wiki {{Documentation}} This template should be used on other templates' documentation pages when adding template data using [[mw:Extension:TemplateData|Extension:TemplateData]]. This template accepts one unnamed parameter, which should be the the whole <code>templatedata</code> text. Also adds [[:Category:Templates using TemplateData]] to pages. {{TemplateData|nocat=yes| <templatedata> { "description": "Used on template docs to enclose the templatedata parser tag", "params": { "1": { "label": "TemplateData", "description": "The body of the TemplateData text.", "type": "string", "required": true }, "noheader": { "label": "Noheader", "description": "Set to 'yes' to disable header.", "type": "string", "default": "'no'" }, "nocat": { "label": "Nocat", "description": "Set to 'yes' to suppress adding category to pages. Useful for examples.", "type": "string", "default": "'no'" } } } </templatedata> }} <includeonly>[[Category:Templates|{{PAGENAME}}]]</includeonly> ab7382dd3153c175c6c1d01d45100bd4f828809c Category:Templates using TemplateData 14 144 268 2024-03-22T15:33:06Z Jayden 3 Created page with "This category contains pages that use [[mw:Help:TemplateData|TemplateData]]. {{Hidden category}} [[Category:Templates]]" wikitext text/x-wiki This category contains pages that use [[mw:Help:TemplateData|TemplateData]]. {{Hidden category}} [[Category:Templates]] bb3839838868558aa6bee14920d051e16191600f Template:Hidden category 10 145 270 2024-03-22T15:33:19Z Jayden 3 Created page with "<includeonly>__HIDDENCAT__ This is a hidden category, which will not show on its member pages.</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>__HIDDENCAT__ This is a hidden category, which will not show on its member pages.</includeonly><noinclude>{{/doc}}</noinclude> eb2a3e5d1e2e3172ebb222e6472953a589b517b9 Template:Hidden category/doc 10 146 271 2024-03-22T15:33:27Z Jayden 3 Created page with "{{documentation}} This template sets a category to be hidden. ==Usage== This template can be used by entering the following onto a category page, before the category you want to hide. {{T|Hidden category}} <includeonly>[[Category:Maintenance templates|{{PAGENAME}}]]</includeonly>" wikitext text/x-wiki {{documentation}} This template sets a category to be hidden. ==Usage== This template can be used by entering the following onto a category page, before the category you want to hide. {{T|Hidden category}} <includeonly>[[Category:Maintenance templates|{{PAGENAME}}]]</includeonly> 88b86d1d910478b05b2efa37501e882815889594 Module:T 828 147 272 2024-03-22T15:33:52Z Jayden 3 Created page with "-- <nowiki> -- [[Template:T]] -- local p = {} function p.main(frame) local args = frame:getParent().args return p._main(args) end function p._main(args) local link = args[1] local uri local targs = {} local ns local i = 1 -- strip transclusion modifiers ([[mw:Help:Magic words#Transclusion modifiers]]) link = link :gsub('safesubst:', '') :gsub('subst:', '') :gsub('int:', '') :gsub('msg:', '')..." Scribunto text/plain -- <nowiki> -- [[Template:T]] -- local p = {} function p.main(frame) local args = frame:getParent().args return p._main(args) end function p._main(args) local link = args[1] local uri local targs = {} local ns local i = 1 -- strip transclusion modifiers ([[mw:Help:Magic words#Transclusion modifiers]]) link = link :gsub('safesubst:', '') :gsub('subst:', '') :gsub('int:', '') :gsub('msg:', '') :gsub('msgnw:', '') :gsub('raw:', '') ns = mw.text.split(link, ':')[1] -- check for valid namespace else prepend Template: if not (ns == '' or mw.site.namespaces[ns]) then link = 'Template:' .. link end -- use fullUrl so it doesn't cause any wanted pages uri = mw.uri.fullUrl(link) -- generate a list of args and params for k, v in pairs(args) do -- because lua has no continue statement if k ~= 1 then if type(k) == 'string' then v = k .. '=' .. v end targs[i] = v i = i + 1 end end targs = table.concat(targs, '&#124;') if targs ~= '' then targs = '&#124;' .. targs end return '<code>{{[' .. tostring(uri) .. ' ' .. args[1] .. ']' .. targs .. '}}</code>' end return p 3c2df07140597b593207242cb44ec759a235f07f Template:T 10 148 273 2024-03-22T15:34:11Z Jayden 3 Created page with "<includeonly><span class="plainlinks">{{#invoke:T|main}}</span></includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly><span class="plainlinks">{{#invoke:T|main}}</span></includeonly><noinclude>{{/doc}}</noinclude> a1738d3ed38ede723e9e231c1f054526be6a9ac4 Template:MessageBox 10 149 274 2024-03-22T15:34:22Z InvalidCards 4 Lifted wholesale from OSRSW wikitext text/x-wiki <includeonly><table class="messagebox {{{class|}}}" {{#if:{{{style|}}}|style="{{{style}}}"}} role="presentation"> <td class="messagebox-image" style="width: {{{imgwidth|50px}}};">{{#if:{{{img|}}}|{{{img}}}|[[File:Tutor guide book detail.png|60x60px|center|link=]]}}</td> <td><span class="messagebox-title"><b>{{#if:1|{{{1}}}|<!--this #if removes trailing/leading whitespace-->}}</b></span>{{#if:{{{2|}}}|<br style="clear: both;" /><div style="font-size:0.85em; line-height:1.4em;" class="messagebox-text">{{{2}}}</div>}}</td>{{#if:{{{imgright|}}}| <td class="messagebox-image messagebox-imageright" style="width: {{{imgrightwidth|50px}}};">{{{imgright}}}</td>}} </table></includeonly><noinclude>{{/doc}}</noinclude> 554553cceed1b2507351c131957886df2ee8ffd3 Template:T/doc 10 150 275 2024-03-22T15:34:23Z Jayden 3 Created page with "{{Documentation}} A template link with a variable number of parameters. ===Use=== To use this for templates, use :{{T|T|<nowiki>parameter 1|parameter 2|parameter 3|...|parameter 20</nowiki>}}<!-- self-referential examples! --> To use other namespaces, use the namespace as prefix, for example :{{T|T|User:Example}} And to show transclusions of mainspace pages, use :{{T|T|:Bucket}} ===Example=== <code><nowiki>{{T|Stub}}</nowiki></code> :{{T|Stub}} <code><nowiki>{{T|Stub..." wikitext text/x-wiki {{Documentation}} A template link with a variable number of parameters. ===Use=== To use this for templates, use :{{T|T|<nowiki>parameter 1|parameter 2|parameter 3|...|parameter 20</nowiki>}}<!-- self-referential examples! --> To use other namespaces, use the namespace as prefix, for example :{{T|T|User:Example}} And to show transclusions of mainspace pages, use :{{T|T|:Bucket}} ===Example=== <code><nowiki>{{T|Stub}}</nowiki></code> :{{T|Stub}} <code><nowiki>{{T|Stub|Item1|Item2|Item3|Item4|Item5|...}}</nowiki></code> :{{T|Stub|Item1|Item2|Item3|Item4|Item5|...}} <includeonly>[[Category:Formatting templates|{{PAGENAME}}]]</includeonly> fbada7fd625c0a8e4f60f4acdc50931db18c4a41 Template:MessageBox/doc 10 151 276 2024-03-22T15:35:01Z InvalidCards 4 Created page with "{{Documentation}}<includeonly>[[Category:Message box templates|*]]</includeonly> The '''MessageBox''' template is a wrapper for all types of [[:Category:Message box templates|message boxes]]. This includes [[Template:License|licenses]], [[:Category:Maintenance templates|Maintenance templates]], and general notices used to alert the reader about something. ==Parameters== To use this template, copy the following code and fill in the necessary information <pre> {{MessageB..." wikitext text/x-wiki {{Documentation}}<includeonly>[[Category:Message box templates|*]]</includeonly> The '''MessageBox''' template is a wrapper for all types of [[:Category:Message box templates|message boxes]]. This includes [[Template:License|licenses]], [[:Category:Maintenance templates|Maintenance templates]], and general notices used to alert the reader about something. ==Parameters== To use this template, copy the following code and fill in the necessary information <pre> {{MessageBox |class = (optional) classes |img = Image |imgwidth = (optional) width of the table cell around the image |Tagline text |Extra information }} </pre> The first parameter is mandatory, but all further parameters are optional. A plain message box will look like this: {{t|MessageBox|Example of a messagebox with no customisation}} {{MessageBox|Example of a messagebox with no customisation}} ===First parameter=== The first parameter will give the tagline for the message box. This is the most eye-catching info in the box and should be short and sweet. ===Second parameter=== The second parameter specifies more information about the message, and can be used to specify some more details about what information is being conveyed. ===img=== Specify an image here. Recommended is to include <code>center</code>, <code>link=</code> and a file size, to stylize the image properly. Just specifying the file name will not work with this parameter; the image needs to be given as a complete file link. ===imgwidth=== The width of the cell the image is (must specify <code>px</code> at the end), and defaults to <code>50px</code>. This effectively sets the margins around the image, if the image is smaller than 50 px. It is typically best to omit this parameter, but in cases where the image is larger setting a custom width may be helpful. ===class=== A class to give the messagebox. Typically this is used for messageboxes that use custom styling which is defined in a class. ===style=== Inline CSS to give to the messagebox. ==Example== An example of a template that has almost all parameters specified is the [[Template:Stub|Stub]] template <pre> {{MessageBox |class = stub |img = [[File:Stub.png|Stub|center|50px|link=]] |This page is a [[Brighter Shores Wiki:Stubs|stub]]. |A stub is an article which does not cover all information available about the topic. You can help by [{{fullurl:{{FULLPAGENAME}}|action=edit}} expanding] it. }} </pre> {{MessageBox |class = stub |img = [[File:Stub.png|Stub|center|50px|link=]] |This page is a [[Brighter Shores Wiki:Stubs|stub]]. |A stub is an article which does not cover all information available about the topic. You can help by [{{fullurl:{{FULLPAGENAME}}|action=edit}} expanding] it. }} c55c0029c7269277abc8b42197a32c9802da5ecd Template:CiteGeneral 10 152 277 2024-03-22T15:36:16Z Jayden 3 Created page with "<includeonly>{{#invoke:References|generalref}}</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>{{#invoke:References|generalref}}</includeonly><noinclude>{{/doc}}</noinclude> 28bdf2f0a2900fb6c6d0c6ed9bd2bbfb06e040da Template:CiteGeneral/doc 10 153 278 2024-03-22T15:36:29Z Jayden 3 Created page with "{{Documentation}} __NOTOC__ This template is used to [[wikipedia:Wikipedia:Citing sources|cite sources]]. It is specifically for web sites. ==Usage== ;Common form for cases where little is known about authorship of the page (with current date) <code><nowiki>{{CiteGeneral|url=|title=|accessdate=</nowiki>{{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}<nowiki>}}</nowiki></code> ;Using author (with current date) <code><nowiki>{{CiteGeneral|url=|title=|author=|date=|acces..." wikitext text/x-wiki {{Documentation}} __NOTOC__ This template is used to [[wikipedia:Wikipedia:Citing sources|cite sources]]. It is specifically for web sites. ==Usage== ;Common form for cases where little is known about authorship of the page (with current date) <code><nowiki>{{CiteGeneral|url=|title=|accessdate=</nowiki>{{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}<nowiki>}}</nowiki></code> ;Using author (with current date) <code><nowiki>{{CiteGeneral|url=|title=|author=|date=|accessdate=</nowiki>{{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}<nowiki>|publisher=|archiveurl=|archivedate=|quote=}}</nowiki></code> ;All parameters <pre>{{CiteGeneral |url = |title = |accessdate = |author = |last = |first = |authorlink = |coauthors = |date = |year = |month = |format = |work = |publisher = |pages = |language = |archiveurl = |archivedate = |quote = }}</pre> === Required parameters === *'''url''': URL of online item. *'''title''': Title of online item. {{References standard parameters}} {{citations}} <includeonly>[[Category:Reference templates]]</includeonly> 18725c1aba03c86119b37008c819e7c1115cd2b0 Template:RefDate 10 154 279 2024-03-22T15:38:34Z Jayden 3 Created page with "<includeonly>{{#if:{{{1|}}}|{{#ifexpr:({{#time:z}}-{{#time:z|{{{1}}}}}+365*({{#time:Y}}-{{#time:Y|{{{1}}}}}))>{{{2|90}}}|<span class="outdate-ref" style="color:red; font-size:larger;" title="This reference has not been verified for over {{{2|90}}} days - It may be outdated.">*</span>[[Category:References that need verification|*{{#time:c|{{{1}}}}}]]}}|<span class="outdate-ref" style="color:red; font-size:larger;" title="This reference has not been verified - It may be ou..." wikitext text/x-wiki <includeonly>{{#if:{{{1|}}}|{{#ifexpr:({{#time:z}}-{{#time:z|{{{1}}}}}+365*({{#time:Y}}-{{#time:Y|{{{1}}}}}))>{{{2|90}}}|<span class="outdate-ref" style="color:red; font-size:larger;" title="This reference has not been verified for over {{{2|90}}} days - It may be outdated.">*</span>[[Category:References that need verification|*{{#time:c|{{{1}}}}}]]}}|<span class="outdate-ref" style="color:red; font-size:larger;" title="This reference has not been verified - It may be outdated.">*</span>[[Category:References that need verification]]}}</includeonly><noinclude>{{/doc}}</noinclude> 710d372cd428f82f4bc08ea3af4d74f50db71d8e Premium Pass 0 76 280 242 2024-03-22T15:39:49Z Jayden 3 wikitext text/x-wiki The '''Premium Pass''' is a type of membership that can be purchased using real money. It provides access to a number of new areas and features in [[Brighter Shores]]. While owning the Premium Pass is required to access the benefits, it will not be a recurring subscription.{{CiteGeneral|url=https://www.gamesradar.com/ahead-of-his-new-mmo-runescape-creator-says-games-have-gotten-too-microtransaction-heavy-our-number-one-aim-is-not-monetization-its-players/|title=Ahead of his new MMO, RuneScape creator says games have gotten too microtransaction-heavy: "Our number one aim is not monetization, it's players"|author=Kaan Serin|date=17 March 2024|accessdate=22 March 2024|quote="One of the key differences is we're probably not going to do auto-recurring payments," continues Gower.}} ==Benefits== There are several benefits to purchasing a Premium Pass: * Access to the [[Mine of Mantuban]] and [[Crenopolis]] * Ability to choose a unique character name, and change your name at any point * Access to exclusive armour dyes * Ability to [[trade]] with other [[player]]s ==References== {{Reflist}} [[Category:Community]] 9c233fa4f3b930fd9b0c49a583fed462578c4c46 296 280 2024-03-22T15:47:14Z Jayden 3 wikitext text/x-wiki The '''Premium Pass''' is a type of membership that can be purchased using real money. It provides access to a number of new areas and features in [[Brighter Shores]]. While owning the Premium Pass is required to access the benefits, it will not be a recurring subscription.{{CiteGeneral|url=https://www.gamesradar.com/ahead-of-his-new-mmo-runescape-creator-says-games-have-gotten-too-microtransaction-heavy-our-number-one-aim-is-not-monetization-its-players/|title=Ahead of his new MMO, RuneScape creator says games have gotten too microtransaction-heavy: "Our number one aim is not monetization, it's players"|author=Kaan Serin|date=17 March 2024|accessdate=22 March 2024|quote="One of the key differences is we're probably not going to do auto-recurring payments," continues Gower.}} ==Benefits== There are several benefits to purchasing a Premium Pass: * Access to the [[Mine of Mantuban]] and [[Crenopolis]] * Ability to choose a unique character name, and change your name at any point * Access to exclusive armour dyes * Ability to [[trade]] with other [[player]]s ==References== {{Reflist}} {{Premium Pass}} [[Category:Community]] 8c528863a5d30b71a42ed24f86c28b366347f918 MediaWiki:Common.less/messagebox.less 8 155 281 2024-03-22T15:40:06Z InvalidCards 4 yoink less less /* ===================== Messageboxes ===================== */ // mixins at [[MediaWiki:Common.less/mixins.less]] :root { .mboxvar(obsolete, #cfcfcf, #464646, var(--text-color), #6c6c6c); .mboxvar(info, #ebebeb, #898989, var(--text-color), #6c6c6c); .mboxvar(action, lighten(@venice-blue, 60%), @venice-blue, var(--text-color), @regal-blue); .mboxvar(warn, #dfc0ba, #861c10, var(--text-color), #8e221a); .mboxvar(safe, #d8f0d3, #1b8408, var(--text-color), #1b8408); .mboxvar(disambig, #ebebeb, #898989, var(--text-color), #6c6c6c); // do these really need to be vars? doubt we want to ever change them across themes --messagebox-discord-background: @discord-bg; --messagebox-discord-border: @discord-bg-darker; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: .5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; .mbox(obsolete); .mbox(info); .mbox(action); // .mbox(file); .mbox(warn); .mbox(safe); .mbox(disambig); &.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: @white; a, a:visited, a:active { color: var(--messagebox-discord-link-color); &.external { // Links to the Discord font-style: italic; } } } &.stub { width: 40%; } &.hasdialogue { padding: 0 10px; width: auto; } } e083c76d4b6c21c8e3e10d46537c748c5252ed7f MediaWiki:Common.less 8 5 282 108 2024-03-22T15:42:03Z InvalidCards 4 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: @black; --byline-color: @tundora; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> @import '@{common}/messagebox.less'; // Messagebox templates // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } fa10d9140a252f7aa5267638d5833ce2df81e0e0 Trading 0 156 283 2024-03-22T15:42:03Z Jayden 3 Created page with "'''Trading''' is a feature in [[Brighter Shores]] that allows [[player]]s to trade items with other players. It is only available to players who have purchased the [[Premium Pass]]." wikitext text/x-wiki '''Trading''' is a feature in [[Brighter Shores]] that allows [[player]]s to trade items with other players. It is only available to players who have purchased the [[Premium Pass]]. 99bafa876116f82aca1ca4d2bdadea890bbd972e 285 283 2024-03-22T15:42:12Z Jayden 3 Jayden moved page [[Trade]] to [[Trading]] wikitext text/x-wiki '''Trading''' is a feature in [[Brighter Shores]] that allows [[player]]s to trade items with other players. It is only available to players who have purchased the [[Premium Pass]]. 99bafa876116f82aca1ca4d2bdadea890bbd972e 299 285 2024-03-22T15:47:36Z Jayden 3 wikitext text/x-wiki '''Trading''' is a feature in [[Brighter Shores]] that allows [[player]]s to trade items with other players. It is only available to players who have purchased the [[Premium Pass]]. {{Premium Pass}} 6cafa3597ba67fd49d6a221d049e0eff33a6912c MediaWiki:Common.css 8 30 284 109 2024-03-22T15:42:07Z InvalidCards 4 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.75em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.75em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } f73be4e5a028942cd22f45f1b4dce55b6b749b79 Trade 0 157 286 2024-03-22T15:42:12Z Jayden 3 Jayden moved page [[Trade]] to [[Trading]] wikitext text/x-wiki #REDIRECT [[Trading]] 3ac6668e21947f55c316a2cbe7909f231910234e Bs 0 158 287 2024-03-22T15:42:31Z Jayden 3 Redirected page to [[Brighter Shores]] wikitext text/x-wiki #REDIRECT [[Brighter Shores]] d29839506a6d53c11083697d350097bac95fb0d8 Fen 0 159 288 2024-03-22T15:42:45Z Jayden 3 Redirected page to [[Fen Research]] wikitext text/x-wiki #REDIRECT [[Fen Research]] e511993f7283f332eaa2303076cafbd1c6a49df4 Andrew 0 160 289 2024-03-22T15:42:54Z Jayden 3 Redirected page to [[Andrew Gower]] wikitext text/x-wiki #REDIRECT [[Andrew Gower]] e3f74894df108a8d50d48f94f79b3df5a5ff4787 User:InvalidCards 2 161 290 2024-03-22T15:43:26Z InvalidCards 4 Created page with "{{MessageBox |class = construction |img = [[File:Newcomer map screen.png|40px|link=|center]] |This {{PageType}} is about a recent addition to the game. |2=Due to the recent addition of this content, most information is still missing.<br/>Please <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page]</span> to add more information about it. }}<includeonly>{{#if:{{{nocat|}}}||[[Category:Articles under construction]]}}</includeonly><noinclude>{{/d..." wikitext text/x-wiki {{MessageBox |class = construction |img = [[File:Newcomer map screen.png|40px|link=|center]] |This {{PageType}} is about a recent addition to the game. |2=Due to the recent addition of this content, most information is still missing.<br/>Please <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page]</span> to add more information about it. }}<includeonly>{{#if:{{{nocat|}}}||[[Category:Articles under construction]]}}</includeonly><noinclude>{{/doc}}</noinclude> 306ecb73a2390c56474f11a6116141e0300bdfeb 292 290 2024-03-22T15:43:59Z InvalidCards 4 wikitext text/x-wiki {{MessageBox |class = construction |img = funny face here |This page is about a recent addition to the game. |2=Due to the recent addition of this content, most information is still missing.<br/>Please <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page]</span> to add more information about it. }} 27f292d5736c1ef2abef678ad215e92a63be8dbe Skills 0 162 291 2024-03-22T15:43:59Z Jayden 3 Redirected page to [[Professions]] wikitext text/x-wiki #REDIRECT [[Professions]] f560803d1539b7a4296fd0acfc621a5efb7924d3 Skill 0 163 293 2024-03-22T15:44:05Z Jayden 3 Redirected page to [[Professions]] wikitext text/x-wiki #REDIRECT [[Professions]] f560803d1539b7a4296fd0acfc621a5efb7924d3 Profession 0 164 294 2024-03-22T15:44:09Z Jayden 3 Redirected page to [[Professions]] wikitext text/x-wiki #REDIRECT [[Professions]] f560803d1539b7a4296fd0acfc621a5efb7924d3 Template:Premium Pass 10 165 295 2024-03-22T15:47:00Z Jayden 3 Created page with "{{Navbox |name = Premium Pass |title = [[Premium Pass]] |gtitle1 = Locations |group1 = * [[Mine of Mantuban]] * [[Crenopolis]] |gtitle2 = Other |group2 = * [[Trading]] }}{{Ctg|Premium Pass}}" wikitext text/x-wiki {{Navbox |name = Premium Pass |title = [[Premium Pass]] |gtitle1 = Locations |group1 = * [[Mine of Mantuban]] * [[Crenopolis]] |gtitle2 = Other |group2 = * [[Trading]] }}{{Ctg|Premium Pass}} 9d48439f91582147a1fca55475387c1892f22f1d Mine of Mantuban 0 74 297 241 2024-03-22T15:47:22Z Jayden 3 wikitext text/x-wiki '''Mine of Mantuban''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. {{Premium Pass}} [[Category:Locations]] 3e9028e410a0d00267b21684e7e96958bd44d162 Crenopolis 0 75 298 201 2024-03-22T15:47:30Z Jayden 3 wikitext text/x-wiki '''Crenopolis''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. {{Premium Pass}} [[Category:Locations]] 440a8e701742d5c8e5c26db69f7eb584dddb9f3f Category:Premium Pass 14 166 300 2024-03-22T15:48:04Z Jayden 3 Created page with "{{Categoryheader|pages|[[Premium Pass]]}}" wikitext text/x-wiki {{Categoryheader|pages|[[Premium Pass]]}} c6af75507c6b0373ce267ad0a7d9134424dd8163 301 300 2024-03-22T15:48:32Z Jayden 3 wikitext text/x-wiki {{Categoryheader|pages|[[Premium Pass]]}} {{Ctg|Community}} 8aa3a11dd77e3b943a1c7a9ca63a952aef06cc8a 303 301 2024-03-22T15:48:44Z Jayden 3 oops wikitext text/x-wiki {{Categoryheader|pages|[[Premium Pass]]}} [[Category:Community]] 084c9ac1a11733dabcad5d024bd600e044a9aed4 Category:Message box templates 14 167 302 2024-03-22T15:48:33Z InvalidCards 4 Created page with "This category contains templates that make use of a message box, either through [[Template:MessageBox]] or through some other means of using the CSS class <code>messagebox</code>. [[Category:Transclusion templates]]" wikitext text/x-wiki This category contains templates that make use of a message box, either through [[Template:MessageBox]] or through some other means of using the CSS class <code>messagebox</code>. [[Category:Transclusion templates]] bcb895d1ede4e6b2214499a9770c2043147a7ad1 Player 0 168 304 2024-03-22T15:54:00Z Jayden 3 Created page with "'''Players''' are human-controlled characters in [[Brighter Shores]]. They have the ability to explore the world, train [[professions]], pick a [[class]], and more. Players can play the game for free, but purchasing a [[Premium Pass]] will allow them to access more content. Each player has a character name, which is suffixed with a hash and a series of numbers. Free-to-play players cannot change their character name after creation, but Premium Pass owners are able to se..." wikitext text/x-wiki '''Players''' are human-controlled characters in [[Brighter Shores]]. They have the ability to explore the world, train [[professions]], pick a [[class]], and more. Players can play the game for free, but purchasing a [[Premium Pass]] will allow them to access more content. Each player has a character name, which is suffixed with a hash and a series of numbers. Free-to-play players cannot change their character name after creation, but Premium Pass owners are able to set a unique character name (without a suffix) and change their name at any time. [[Category:Community]] 52daf81ebc995dbf2207c87676d474da25700e69 Category:Games 14 170 306 2024-03-22T15:55:09Z Jayden 3 Created page with "{{Categoryheader|pages and subcategories|games}}" wikitext text/x-wiki {{Categoryheader|pages and subcategories|games}} 176f4b21d547f8ce8734ed6b5e80447e2dd64994 Factions 0 72 307 203 2024-03-22T15:55:22Z Jayden 3 Jayden moved page [[Class]] to [[Classes]] wikitext text/x-wiki '''Classes''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. ==Classes== * The [[Cryoknight]] class is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]] * [[Guardian]]s use ranged combat, preferring to wield weapons like [[crossbow]]s * The [[Hammermage]] class fights using a mix of melee and magic [[Category:Class|#]] dda9a88b53730be54b840eebfd527eaa78dd46b7 332 307 2024-03-22T16:11:51Z Jayden 3 wikitext text/x-wiki '''Classes''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. ==Classes== * The [[Cryoknight]] class is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]] * [[Guardian]]s use ranged combat, preferring to wield weapons like [[crossbow]]s * The [[Hammermage]] class fights using a mix of melee and magic {{Classes}} 8bc030599da617752f40f704fed26994cd691410 Class 0 171 308 2024-03-22T15:55:22Z Jayden 3 Jayden moved page [[Class]] to [[Classes]] wikitext text/x-wiki #REDIRECT [[Classes]] 63d5f985fa34fe7bb3bbee5984949bb4a5b603e1 Template:PageType 10 172 309 2024-03-22T15:55:24Z InvalidCards 4 Created page with "<includeonly>{{#switch:{{NAMESPACE:{{FULLPAGENAME}}}} <noinclude> Regular pages </noinclude> |=article |User=user page |Brighter Shores Wiki=project page |File=image |Template=template |Help=help page |Category=category |Property=property |Module=module |Gadget=gadget |Gadget definition=gadget definition <noinclude> Talk pages </noinclude> |Talk=talk page |User talk=talk page |Brighter Shores Wiki talk=talk page |File talk=talk page |Template talk=talk page |Help talk=ta..." wikitext text/x-wiki <includeonly>{{#switch:{{NAMESPACE:{{FULLPAGENAME}}}} <noinclude> Regular pages </noinclude> |=article |User=user page |Brighter Shores Wiki=project page |File=image |Template=template |Help=help page |Category=category |Property=property |Module=module |Gadget=gadget |Gadget definition=gadget definition <noinclude> Talk pages </noinclude> |Talk=talk page |User talk=talk page |Brighter Shores Wiki talk=talk page |File talk=talk page |Template talk=talk page |Help talk=talk page |Category talk=talk page |Property talk=talk page |Module talk=talk page |Guide talk=talk page |Gadget talk=talk page |Gadget definition talk=talk page <noinclude> Catch-all </noinclude> |#default=<page type> }}</includeonly><noinclude>{{/doc}}</noinclude> 2faa83978874337eee937c22daa085f5e14738b7 Template:PageType/doc 10 173 310 2024-03-22T15:55:48Z InvalidCards 4 Created page with "{{documentation}} Template providing a literal description of the type of a page. This will typically be an economical version of the page's namespace, worded in such a way that it will also be the natural way of describing it verbally. For instance the myriad of talk pages are simply referred to as 'talk page'(s) without any distinction. Namespaces not explicitly covered is handled by a catch-all returning '<page type>'. This template is intended for transclusion by o..." wikitext text/x-wiki {{documentation}} Template providing a literal description of the type of a page. This will typically be an economical version of the page's namespace, worded in such a way that it will also be the natural way of describing it verbally. For instance the myriad of talk pages are simply referred to as 'talk page'(s) without any distinction. Namespaces not explicitly covered is handled by a catch-all returning '<page type>'. This template is intended for transclusion by other templates, maintenance templates in particular. ==Usage== {{T|PageType}} ==Examples== {{T|PageType}} {{PageType}} ==Parameters== <templatedata> { "description": "", "params": { } } </templatedata> <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> 9db8a717038813616facb007e770143621c9b804 Pass 0 174 311 2024-03-22T15:55:52Z Jayden 3 Redirected page to [[Premium Pass]] wikitext text/x-wiki #REDIRECT [[Premium Pass]] bf43d4c5096a873a9dbfe78f0c617b2e6ff6d2df Member 0 175 312 2024-03-22T15:55:56Z Jayden 3 Redirected page to [[Premium Pass]] wikitext text/x-wiki #REDIRECT [[Premium Pass]] bf43d4c5096a873a9dbfe78f0c617b2e6ff6d2df Membership 0 176 313 2024-03-22T15:56:00Z Jayden 3 Redirected page to [[Premium Pass]] wikitext text/x-wiki #REDIRECT [[Premium Pass]] bf43d4c5096a873a9dbfe78f0c617b2e6ff6d2df Mantuban 0 177 314 2024-03-22T15:59:32Z Jayden 3 Redirected page to [[Mine of Mantuban]] wikitext text/x-wiki #REDIRECT [[Mine of Mantuban]] c611347e0fdb55fb960e48ae6a696278d4067295 File:Cliffside Path.jpg 6 178 315 2024-03-22T16:01:04Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Cliffside Path 0 83 316 199 2024-03-22T16:01:41Z Jayden 3 wikitext text/x-wiki [[File:Cliffside Path.jpg|thumb|A view of the Cliffside Path.]] The '''Cliffside Path''' is a location. It is a wooded path, inhabited by giant spiders, with large cobwebs strewn about. [[Category:Locations]] b0044e3aef8f2e0e3d0550b2bac0ef4f9a396128 File:Unofficial name placeholder.png 6 179 317 2024-03-22T16:02:30Z InvalidCards 4 From game-icons.net, CC-BY 3.0 license. Placeholder until we have something from in-game that we can use for this messagebox. wikitext text/x-wiki == Summary == From game-icons.net, CC-BY 3.0 license. Placeholder until we have something from in-game that we can use for this messagebox. 5a28454bbc76a475f6c907ed3e748092c526f4fc File:Melv's Fishing Supplies.jpg 6 180 318 2024-03-22T16:02:31Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Melv's Fishing Supplies 0 86 319 240 2024-03-22T16:02:54Z Jayden 3 wikitext text/x-wiki [[File:Melv's Fishing Supplies.jpg|thumb|The inside of the shop.]] '''Melv's Fishing Supplies''' is a [[Fisher]] shop run by [[Melv]]. [[Category:Shops]] efc7468d445e75d7d12ad7488acca824ed863efe Template:Mainonly 10 181 320 2024-03-22T16:03:50Z InvalidCards 4 Created page with "{{#ifeq:{{NAMESPACE}}|{{ns:0}}|{{{1|}}}}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{#ifeq:{{NAMESPACE}}|{{ns:0}}|{{{1|}}}}}<noinclude>{{/doc}}</noinclude> afcc3e5e2654571a6a05f318c70abaceb5dedbb9 File:Lani's Curiosities.jpg 6 182 321 2024-03-22T16:04:11Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Template:Mainonly/doc 10 183 322 2024-03-22T16:04:14Z InvalidCards 4 Created page with "{{documentation}} This '''Mainonly''' template allows a particular piece of text to only be displayed when included in the main namespace. Useful for adding category links to templates. Nameless first parameter is the text to be included. <includeonly>[[Category:Transclusion templates|{{BASEPAGENAME}}]]</includeonly>" wikitext text/x-wiki {{documentation}} This '''Mainonly''' template allows a particular piece of text to only be displayed when included in the main namespace. Useful for adding category links to templates. Nameless first parameter is the text to be included. <includeonly>[[Category:Transclusion templates|{{BASEPAGENAME}}]]</includeonly> 2d1490a39156d30a4fcbd3b90ce0a569c392e481 Lani's Curiosities 0 92 323 236 2024-03-22T16:04:15Z Jayden 3 wikitext text/x-wiki [[File:Lani's Curiosities.jpg|thumb|The inside of the shop.]] '''Lani's Curiosities''' is a shop run by [[Lani]]. [[Category:Shops]] f38ff5b37e0225f35e3260a490682970f3a93a65 Template:Unofficial name 10 184 324 2024-03-22T16:04:36Z InvalidCards 4 Created page with "{{MessageBox |class = info |img = [[File:Unofficial name placeholder.png|40px]] |The name of this content is unofficial. |While this content has appeared in previews, no official name for it was shown. The name of this {{PageType}} serves as a placeholder until the actual name becomes known. }}<includeonly>{{Mainonly|[[Category:Unofficially named content]]}}</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{MessageBox |class = info |img = [[File:Unofficial name placeholder.png|40px]] |The name of this content is unofficial. |While this content has appeared in previews, no official name for it was shown. The name of this {{PageType}} serves as a placeholder until the actual name becomes known. }}<includeonly>{{Mainonly|[[Category:Unofficially named content]]}}</includeonly><noinclude>{{/doc}}</noinclude> 1f41f63b3c3709ba101dc4d0dfc5124c7662c3ef Template:Unofficial name/doc 10 185 325 2024-03-22T16:05:06Z InvalidCards 4 Created page with "{{documentation}} This template is to be used on any article where the official name is not yet known. {{t|Unofficial name}} <includeonly>[[Category:Message box templates|{{PAGENAME}}]]</includeonly>" wikitext text/x-wiki {{documentation}} This template is to be used on any article where the official name is not yet known. {{t|Unofficial name}} <includeonly>[[Category:Message box templates|{{PAGENAME}}]]</includeonly> 81e04d4f3884224edb7cd3c234475eda25895a50 Firetoad 0 186 326 2024-03-22T16:05:56Z InvalidCards 4 Created page with "{{Unofficial name}} '''Firetoads''' are monsters found in caves. [[Category:Monsters]]" wikitext text/x-wiki {{Unofficial name}} '''Firetoads''' are monsters found in caves. [[Category:Monsters]] dca9c4c724d527751f87c5983628925e0c98435c Category:Unofficially named content 14 187 327 2024-03-22T16:07:26Z InvalidCards 4 Created page with "{{Categoryheader|pages where the official name of the content is currently unknown or ambiguous||yes|[[Template:Unofficial name]]}} [[Category:Maintenance templates]]" wikitext text/x-wiki {{Categoryheader|pages where the official name of the content is currently unknown or ambiguous||yes|[[Template:Unofficial name]]}} [[Category:Maintenance templates]] 31adf75d755877b4ab19ab8138931d4c88330ac4 328 327 2024-03-22T16:07:44Z InvalidCards 4 wikitext text/x-wiki {{Categoryheader|pages where the official name of the content is currently unknown or ambiguous||yes|[[Template:Unofficial name]]}} [[Category:Maintenance categories]] 3dd6d037eebab08a6da942aca1357db9e8fbfa2e Category:Maintenance categories 14 188 329 2024-03-22T16:08:05Z InvalidCards 4 Created page with "{{Categoryheader|subcategories|maintenance categories||}} [[Category:Maintenance]]" wikitext text/x-wiki {{Categoryheader|subcategories|maintenance categories||}} [[Category:Maintenance]] 2c9fe1fe536c38219dd3b790d6970057d75c2df6 Gower 0 189 330 2024-03-22T16:08:27Z Jayden 3 Redirected page to [[Andrew Gower]] wikitext text/x-wiki #REDIRECT [[Andrew Gower]] e3f74894df108a8d50d48f94f79b3df5a5ff4787 Template:Factions 10 190 331 2024-03-22T16:11:36Z Jayden 3 Created page with "{{Navbox |name = Classes |title = [[Classes]] |style1 = text-align:center |group1 = * [[Cryoknight]] * [[Guardian]] * [[Hammermage]] }}{{Ctg|Classes}}" wikitext text/x-wiki {{Navbox |name = Classes |title = [[Classes]] |style1 = text-align:center |group1 = * [[Cryoknight]] * [[Guardian]] * [[Hammermage]] }}{{Ctg|Classes}} a7d3f2a0cd90bdf75e8f185dc76929d5eefe701c Category:Factions 14 125 333 259 2024-03-22T16:12:01Z Jayden 3 Jayden moved page [[Category:Class]] to [[Category:Classes]] without leaving a redirect wikitext text/x-wiki {{Categoryheader|pages|[[class]]es}} [[Category:Content]] 8121a80df1c7f4a25cec3ab28d8ea6da722652d5 Cryoknight 0 69 334 207 2024-03-22T16:12:14Z Jayden 3 wikitext text/x-wiki '''Cryoknight''' is a [[class]] which specialises in using melee weapons in [[combat]]. {{Classes}} df41d94ec83c2f4f410edb0d30eb7d8300b5edff Guardian 0 70 335 227 2024-03-22T16:12:20Z Jayden 3 wikitext text/x-wiki '''Guardian''' is a [[class]] which specialises in using ranged weapons in [[combat]]. {{Classes}} 95c8db9df9ae9caec8ea2f604ae760c2c8e68cf9 Hammermage 0 71 336 229 2024-03-22T16:12:26Z Jayden 3 wikitext text/x-wiki '''Hammermage''' is a [[class]] which specialises in using magic weapons in [[combat]]. {{Classes}} 31f6adb8e0250381f0b3453877d88eef30b86529 Fenforge 0 129 337 247 2024-03-22T16:15:00Z 192.87.139.149 0 wikitext text/x-wiki [[File:Fenforge logo.png|left]] '''Fenforge''' is a game engine that has been in continuous development by [[Fen Research]] since May [[2010]]. First used to develop ''Solstrike'' (2014) and ''Iona's Toybox'' (2021), ''[[Brighter Shores]]'' is the third game to use this engine. The engine is based on a privately developed programming language, and designed to be flexible general-purpose engine, allowing programmers to make different types of games relatively quickly. == Other games using Fenforge == {| class="wikitable sortable" |- ! Release date !! Name !! Image |- | || Solstrike || [[File:solstrike.png|300px]] |- | || Iona's Toybox || [[File:Ionas Toybox.png|300px]] |} [[Category:Mechanics]] [[Category:Fen Research]] e06d257e88d76dbeb7c00e9359974300a3d41b80 Combat 0 191 338 2024-03-22T16:19:23Z Jayden 3 Created page with "'''Combat''' is a mechanic in [[Brighter Shores]] in which several [[player]]s or monsters fight. Depending on the [[class]] that is being used, player combat can utilise melee, ranged, or magic." wikitext text/x-wiki '''Combat''' is a mechanic in [[Brighter Shores]] in which several [[player]]s or monsters fight. Depending on the [[class]] that is being used, player combat can utilise melee, ranged, or magic. bef8b4657ac56d655455597a785fe076130e1dd8 Crossbow 0 192 339 2024-03-22T16:22:11Z Jayden 3 Created page with "'''Crossbows''' are a type of [[weapon]] in [[Brighter Shores]], typically utilised by the [[guardian]] class." wikitext text/x-wiki '''Crossbows''' are a type of [[weapon]] in [[Brighter Shores]], typically utilised by the [[guardian]] class. 801824339cdf493dd57538863458ffb6db2775de Sword 0 193 340 2024-03-22T16:23:20Z Jayden 3 Created page with "'''Swords''' are a type of [[weapon]] in [[Brighter Shores]], typically utilised by the [[cryoknight]] class." wikitext text/x-wiki '''Swords''' are a type of [[weapon]] in [[Brighter Shores]], typically utilised by the [[cryoknight]] class. c8925c9a1cfa70e5834c9456fc6b348ecf9dc7e7 Premium 0 194 341 2024-03-22T16:24:50Z Jayden 3 Redirected page to [[Premium Pass]] wikitext text/x-wiki #REDIRECT [[Premium Pass]] bf43d4c5096a873a9dbfe78f0c617b2e6ff6d2df Subscription 0 195 342 2024-03-22T16:25:05Z Jayden 3 Redirected page to [[Premium Pass]] wikitext text/x-wiki #REDIRECT [[Premium Pass]] bf43d4c5096a873a9dbfe78f0c617b2e6ff6d2df Template:CiteTwitter 10 196 343 2024-03-22T16:29:05Z Jayden 3 Created page with "<includeonly>{{#invoke:References|twitterref}}</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>{{#invoke:References|twitterref}}</includeonly><noinclude>{{/doc}}</noinclude> d086275903d1701cd94c2e8ade64b2c7d8b9835e Template:Wp 10 197 344 2024-03-22T16:38:22Z Jayden 3 Created page with "<includeonly>[[Wikipedia:{{{1}}}|<span title="&quot;{{{1}}}&quot; on English Wikipedia">{{{2|{{{1}}}}}}</span>]]</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>[[Wikipedia:{{{1}}}|<span title="&quot;{{{1}}}&quot; on English Wikipedia">{{{2|{{{1}}}}}}</span>]]</includeonly><noinclude>{{/doc}}</noinclude> 852c3880ff8c832028cfebb592cc3fff2f4e0eb0 Brighter Shores 0 51 345 88 2024-03-22T16:38:52Z Jayden 3 wikitext text/x-wiki '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024. The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An initial two-minute trailer was released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}} The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] fbeefae2256023714e851e721dcb23a8d13680fc 347 345 2024-03-22T16:42:24Z Jayden 3 wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024. The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An initial two-minute trailer was released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}} The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] df161401ce783ca0be575d4ffc4845a85978da17 348 347 2024-03-22T16:46:20Z Jayden 3 wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024. The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An initial two-minute trailer was released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}} The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. Brighter Shores features an ongoing story with hundreds of hours of gameplay.{{CiteGeneral|url=https://store.steampowered.com/app/2791440/Brighter_Shores/|title=Brighter Shores on Steam|author=Valve|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/eYgMA|archivedate=22 March 2024}} Players start their journey in [[Hopeport]], as a member of the town guard. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] 019abfa4a60a19c428d1f6cf2d9e1ef50bc927a8 351 348 2024-03-22T16:47:39Z Jayden 3 wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024. The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An initial two-minute trailer was released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}} The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. Brighter Shores features an ongoing story with hundreds of hours of gameplay.{{CiteGeneral|url=https://store.steampowered.com/app/2791440/Brighter_Shores/|title=Brighter Shores on Steam|author=Valve|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/eYgMA|archivedate=22 March 2024}} Players start their journey in [[Hopeport]], as a member of the town guard. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] * [https://brightershores.com/ Official website] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] d3a94f213cc33fd99ff2b3cab0bafb64fb57699c File:Brighter Shores key art.jpg 6 198 346 2024-03-22T16:41:52Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Truck Cave.jpg 6 199 349 2024-03-22T16:46:45Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Truck Cave 0 94 350 255 2024-03-22T16:47:37Z Wolaznik 8 wikitext text/x-wiki [[File:Truck Cave.jpg|thumb|right|A preview of the Truck Cave.]] The '''Truck Cave''' is a cave filled with minecart rails. [[Category:Locations]] 9643e37e531ad633b91887cfc1ef2c3ebc5597f6 Passive activity 0 200 352 2024-03-22T16:49:31Z Wolaznik 8 Created page with "A '''Passive Activity''' is an activity that will continue to occur while you are logged out." wikitext text/x-wiki A '''Passive Activity''' is an activity that will continue to occur while you are logged out. 6223bb882d87106888dac951e15104ad9f21c9ec File:Fisher.jpg 6 201 353 2024-03-22T16:50:29Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Fisher 0 58 354 213 2024-03-22T16:51:04Z Wolaznik 8 wikitext text/x-wiki [[File:Fisher.jpg|thumb|right|A preview of a player fishing.]] '''Fisher''' is a type of [[professions|profession]] which specialises in catching [[fish]]. {{Professions}} cea2fdea77cc08d52a2285254e49c8d8d4ef1361 File:The Deletectable Dab Restaurant.jpg 6 202 355 2024-03-22T16:53:02Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 The Deletectable Dab Restaurant 0 203 356 2024-03-22T16:53:10Z Wolaznik 8 Created page with "[[File:The Deletectable Dab Restaurant.jpg|thumb|right|The Deletectable Dab Restaurant]] The '''The Deletectable Dab Restaurant''' is a restaurant." wikitext text/x-wiki [[File:The Deletectable Dab Restaurant.jpg|thumb|right|The Deletectable Dab Restaurant]] The '''The Deletectable Dab Restaurant''' is a restaurant. 00313230f387a0bd033178a955b77336fab56282 File:Goblin Marketplace.jpg 6 204 357 2024-03-22T16:55:00Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Goblin Marketplace 0 82 358 224 2024-03-22T16:55:04Z Wolaznik 8 wikitext text/x-wiki [[File:Goblin Marketplace|thumb|right|Goblin Marketplace]] The '''Goblin Marketplace''' is a location where [[goblin]]s sell their wares. [[Category:Locations]] 5c4998331e5e974a08a91da1921530b2bc2d35ca 359 358 2024-03-22T16:55:18Z Wolaznik 8 wikitext text/x-wiki [[File:Goblin Marketplace.jpg|thumb|right|Goblin Marketplace]] The '''Goblin Marketplace''' is a location where [[goblin]]s sell their wares. [[Category:Locations]] e85c6be04f75503e8ee3197518c370bce8b3f8c7 File:Woodcutter.jpg 6 205 360 2024-03-22T16:56:01Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Woodcutter 0 61 361 217 2024-03-22T16:56:59Z Wolaznik 8 wikitext text/x-wiki [[File:Woodcutter.jpg|thumb|right|A player woodcutting.]] '''Woodcutter''' is a type of [[professions|profession]]. {{Professions}} fdd29e0b0d9dfc6c85da865b1de7e0b41fbd7c99 File:Bone Vats.jpg 6 206 362 2024-03-22T16:57:35Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Bone Vats 0 81 363 198 2024-03-22T16:59:55Z Wolaznik 8 wikitext text/x-wiki [[File:Bone Vats.jpg|thumb|right|Bone Vats]] The '''Bone Vats''' is a location where players can craft items using bones. [[Category:Locations]] 46503e71506ac9839447d29b58a2da172cec6f88 File:Tanners Road.jpg 6 207 364 2024-03-22T17:00:46Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Tanners Road 0 80 365 250 2024-03-22T17:01:43Z Wolaznik 8 wikitext text/x-wiki [[File:Tanners Road.jpg|thumb|right|Tanners Road]] '''Tanners Road''' is a road in [[Hopeport]]. It features various market stalls. [[Category:Locations]][[Category:Hopeport]] a07eb06d0bb39e9e54fa0e8d2e7a2ed98e1247ba File:Barricades.jpg 6 208 366 2024-03-22T17:02:55Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Barricades 0 79 367 191 2024-03-22T17:03:17Z Wolaznik 8 wikitext text/x-wiki [[File:Barricades.jpg|thumb|right|A preview of the Barricades.]] The '''Barricades''' is a location that leads into the [[Mine Entrance]], which is guarded by a [[barricade guard]]. The player must talk to [[Captain Jal Degreene]] as part of a quest in order to be allowed through. [[Category:Locations]] f63d16a7ba5b8db748bc849b9c69ba75e68db377 File:Leech Pools.jpg 6 209 368 2024-03-22T17:03:44Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Leech Pools 0 78 369 238 2024-03-22T17:04:01Z Wolaznik 8 wikitext text/x-wiki [[File:Leech Pools.jpg|thumb|right|A preview of the Leech Pools.]] The '''Leech Pools''' is a watery cave system. [[Category:Locations]] f869565e8263fe16ac2cb0c3aa38e605e3c8b3e5 File:Combat.jpg 6 626 370 2024-03-22T17:04:28Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Combat 0 191 371 338 2024-03-22T17:04:51Z Wolaznik 8 wikitext text/x-wiki [[File:Combat.jpg|thumb|right|A preview of player in combat.]] '''Combat''' is a mechanic in [[Brighter Shores]] in which several [[player]]s or monsters fight. Depending on the [[class]] that is being used, player combat can utilise melee, ranged, or magic. c56183a36d97d34c6daa913a8b9797e814ad9b3e Chef 0 60 372 216 2024-03-22T17:05:44Z Wolaznik 8 wikitext text/x-wiki [[File:Chef.jpg|thumb|right|A player cooking bacon.]] '''Chef''' is a type of [[professions|profession]] which allows the [[player]] to [[cooking|cook]] many different [[food]] items. {{Professions}} b9fb87d1b220ca102cf32015d3b50ebbb5967b5e 400 372 2024-03-22T17:41:12Z ToofleBerry 6 Added link. wikitext text/x-wiki [[File:Chef.jpg|thumb|right|A player cooking [[basic bacon]].]] '''Chef''' is a type of [[professions|profession]] which allows the [[player]] to [[cooking|cook]] many different [[food]] items. {{Professions}} f2c3c280fc258ec255f4ece7b0b81f0a19e73ad9 File:Chef.jpg 6 211 373 2024-03-22T17:05:51Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Hopeport Obelisk.jpg 6 212 374 2024-03-22T17:07:49Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Hopeport Obelisk 0 97 375 233 2024-03-22T17:07:54Z Wolaznik 8 wikitext text/x-wiki [[File:Hopeport Obelisk.jpg|thumb|right|A preview of the Hopeport Obelisk.]] The '''Hopeport Obelisk''' is a location near [[Hopeport]]. It is likely that it will be used as a fast travel location. [[Category:Locations]] 04e508898f960d82732ed719c54547891946abb3 Quiet Grove 0 101 376 244 2024-03-22T17:09:46Z Wolaznik 8 wikitext text/x-wiki [[File:Quiet Grove|thumb|right|A preview of Quiet Grove.]] The '''Quiet Grove''' is a location. It has an entrance to a mine. [[Category:Locations]] 18157563ef6b7b9accde9163b800eb0724b54415 378 376 2024-03-22T17:10:06Z Wolaznik 8 wikitext text/x-wiki [[File:Quiet Grove.jpg|thumb|right|A preview of Quiet Grove.]] The '''Quiet Grove''' is a location. It has an entrance to a mine. [[Category:Locations]] b9de82832c2c7f3421423f0f99be630571c1dfc8 File:Quiet Grove.jpg 6 213 377 2024-03-22T17:09:50Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Southeast Sewer.jpg 6 214 379 2024-03-22T17:11:57Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Southeast Sewer 0 88 380 249 2024-03-22T17:12:25Z Wolaznik 8 wikitext text/x-wiki [[File:Southeast Sewer.jpg|thumb|right|A preview of the Southeast Sewer.]] The '''Southeast Sewer''' is a location. [[Category:Locations]] 2fc59c5d8aebbc59836873f663722513288b8de8 File:Factions.jpg 6 215 381 2024-03-22T17:13:50Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Factions 0 72 382 332 2024-03-22T17:14:43Z Wolaznik 8 wikitext text/x-wiki [[File:Classes.jpg|thumb|right|Examples of the three classes.]] '''Classes''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. ==Classes== * The [[Cryoknight]] class is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]] * [[Guardian]]s use ranged combat, preferring to wield weapons like [[crossbow]]s * The [[Hammermage]] class fights using a mix of melee and magic {{Classes}} dec9d1a43e6cc9c6f64327bb91a652b11896df0b User:Wolaznik 2 216 383 2024-03-22T17:17:47Z Wolaznik 8 Created page with "Discord: Wolaznik" wikitext text/x-wiki Discord: Wolaznik 4333ce30ebb2a5137f8009608f83723ebeb3b9b5 MediaWiki:Sidebar 8 57 384 99 2024-03-22T17:21:56Z Habblet 11 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** Special:NewFiles|New files * Guides ** Professions ** Equipment ** Locations ** Quests * SEARCH * TOOLBOX * LANGUAGES 2858622b5516227f54f852372c4ca39f57faaa8e File:Blacksmith.png 6 217 385 2024-03-22T17:26:56Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Category:Pages with broken file links 14 218 386 2024-03-22T17:27:11Z Habblet 11 Created page with "{{Categoryheader|pages|with broken file links|yes|the MediaWiki software via the [[MediaWiki:broken-file-category|broken-file-category]] message page|related=no}}{{Hidden category}} Additionally, files that are used in pages but do not exist are listed by [[Special:WantedFiles]]. [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__" wikitext text/x-wiki {{Categoryheader|pages|with broken file links|yes|the MediaWiki software via the [[MediaWiki:broken-file-category|broken-file-category]] message page|related=no}}{{Hidden category}} Additionally, files that are used in pages but do not exist are listed by [[Special:WantedFiles]]. [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__ 4f2fe47aebb1f35d0464785365e2574c3955b438 Blacksmith 0 66 387 225 2024-03-22T17:27:42Z Wolaznik 8 wikitext text/x-wiki [[File:Blacksmith.png|thumb|right|A player smithing.]] '''Blacksmith''' is a type of [[professions|profession]]. {{Professions}} 601fb6f3e44f52721a63fd0f43d96e54f68bbaa1 File:Alchemist.jpg 6 219 388 2024-03-22T17:28:43Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Category:Hidden categories 14 220 389 2024-03-22T17:28:50Z Habblet 11 Created page with "{{Categoryheader|pages|in cases where, for technical reasons, project categories appear directly on articles rather than talk pages, they should be made into hidden categories, so that they are not displayed to users. The categories that should appear here are the maintenance categories, that is, categories reflecting the present status of the page, rather than classifying the article subject. To hide a category, use the magic word <code><nowiki>__HIDDENCAT__</nowiki></..." wikitext text/x-wiki {{Categoryheader|pages|in cases where, for technical reasons, project categories appear directly on articles rather than talk pages, they should be made into hidden categories, so that they are not displayed to users. The categories that should appear here are the maintenance categories, that is, categories reflecting the present status of the page, rather than classifying the article subject. To hide a category, use the magic word <code><nowiki>__HIDDENCAT__</nowiki></code>. This also places the page in this category. A logged-in user may elect to view all hidden categories, by checking "Show Hidden Categories" on the "Misc" tab of [[Special:Preferences|My Preferences]]. Notice that "hidden" parent categories are never in fact hidden on category pages (although they are listed separately)||}} [[Category:Maintenance categories]] daf2476192406f283b4d7aff24e26a5017e225c0 Alchemist 0 63 390 219 2024-03-22T17:29:30Z Wolaznik 8 wikitext text/x-wiki [[File:Alchemist.jpg|thumb|right|A player practicing Alchemy.]] '''Alchemist''' is a type of [[professions|profession]]. {{Professions}} a6366480ac6a6944084af488ed3e5c538a8b612f File:T.E.A. Machine.png 6 221 391 2024-03-22T17:30:00Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 393 391 2024-03-22T17:33:39Z Wolaznik 8 Wolaznik moved page [[File:T.E.A Machine.png]] to [[File:T.E.A. Machine.png]] without leaving a redirect wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Copyright.svg 6 222 392 2024-03-22T17:31:40Z Habblet 11 {{Permanent Protection}} {{GFDL}} Source: modified from [http://commons.wikimedia.org/wiki/Image:Copyright-problem.svg a file on Wikimedia Commons]. wikitext text/x-wiki == Summary == {{Permanent Protection}} {{GFDL}} Source: modified from [http://commons.wikimedia.org/wiki/Image:Copyright-problem.svg a file on Wikimedia Commons]. e14066573aa911d4461287d3595b37b55a8127d2 T.E.A. Machine 0 223 394 2024-03-22T17:33:49Z Wolaznik 8 Created page with "[[File:T.E.A. Machine.png|thumb|right]] The '''T.E.A. Machine''' is a machine in which players can load stones into to complete an action. The machine's exact purpose is currently unknown." wikitext text/x-wiki [[File:T.E.A. Machine.png|thumb|right]] The '''T.E.A. Machine''' is a machine in which players can load stones into to complete an action. The machine's exact purpose is currently unknown. 9830f5809e65a59f78d9e559f55d2c495cba923a 395 394 2024-03-22T17:34:42Z Wolaznik 8 wikitext text/x-wiki [[File:T.E.A. Machine.png|thumb|right|A preview of the T.E.A. Machine.]] The '''T.E.A. Machine''' is a machine in which players can load stones into to complete an action. The machine's exact purpose is currently unknown. 870c831c23e997f3454e2085d839a97b1f25f349 File:Padlock-red.svg 6 224 396 2024-03-22T17:37:14Z Habblet 11 {{Permanent Protection}} {{PD}} wikitext text/x-wiki == Summary == {{Permanent Protection}} {{PD}} 070edbdc5141e7b313fe8575081029aa39d81152 Template:Permanent Protection 10 225 397 2024-03-22T17:37:58Z Habblet 11 Created page with "{{MessageBox |class = warn |img = [[File:Padlock-red.svg|centre|40px|link=]] |{{SUBJECTPAGENAME}} has been indefinitely [[Brighter Shores:Protection policy|protected]] from editing, uploading, or moving. |This file is protected most likely because it is a popular image or a file used in a MediaWiki page. To request a change to it, please discuss the issue on the [{{fullurl:{{TALKPAGENAME}}}} talk page]. }}{{Fileonly|[[Category:Permanently protected files]]}}<noinclude>{..." wikitext text/x-wiki {{MessageBox |class = warn |img = [[File:Padlock-red.svg|centre|40px|link=]] |{{SUBJECTPAGENAME}} has been indefinitely [[Brighter Shores:Protection policy|protected]] from editing, uploading, or moving. |This file is protected most likely because it is a popular image or a file used in a MediaWiki page. To request a change to it, please discuss the issue on the [{{fullurl:{{TALKPAGENAME}}}} talk page]. }}{{Fileonly|[[Category:Permanently protected files]]}}<noinclude>{{/doc}}</noinclude> 6ecc455d2fd52fde8396f0cb02133031eb5188d8 Template:Fileonly 10 226 398 2024-03-22T17:39:03Z Habblet 11 Created page with "{{#ifeq:{{NAMESPACE}}|{{ns:6}}|{{{1|}}}}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{#ifeq:{{NAMESPACE}}|{{ns:6}}|{{{1|}}}}}<noinclude>{{/doc}}</noinclude> 109ededa3f226b4034390d70f24dc1b4a5510ffd Template:Fileonly/doc 10 227 399 2024-03-22T17:40:02Z Habblet 11 Created page with "{{Documentation}} The '''Fileonly''' template allows a particular piece of text to only be displayed when included in the file/image namespace. Primarily used when adding category links or categories to templates. ==Usage== {{T|Fileonly|text}} Example not available. {{TemplateData|<templatedata> { "params": { "1": { "label": "Text", "description": "Text to be displayed only in the File/Image namespace.", "type": "string", "required": true } }, "fo..." wikitext text/x-wiki {{Documentation}} The '''Fileonly''' template allows a particular piece of text to only be displayed when included in the file/image namespace. Primarily used when adding category links or categories to templates. ==Usage== {{T|Fileonly|text}} Example not available. {{TemplateData|<templatedata> { "params": { "1": { "label": "Text", "description": "Text to be displayed only in the File/Image namespace.", "type": "string", "required": true } }, "format": "inline", "description": "This template allows a particular piece of text to only be displayed when included in the file/image namespace." } </templatedata>}} ==See also== * [[Template:Mainonly]] <includeonly>[[Category:Transclusion templates|{{BASEPAGENAME}}]]</includeonly> 6eecdee95d537655744b4d95630eeb77b6065dc6 Template:Documentation 10 228 401 2024-03-22T17:41:28Z Habblet 11 Created page with "<includeonly>{{#invoke:Documentation|doc}}__NOEDITSECTION__</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>{{#invoke:Documentation|doc}}__NOEDITSECTION__</includeonly><noinclude>{{/doc}}</noinclude> 291285b6f733c3a1739fbe7be41323bda485a2ba Template:Documentation/doc 10 229 402 2024-03-22T17:42:18Z Habblet 11 Created page with "{{Documentation}} {{Invokes|Documentation}} <code><nowiki>{{Documentation}}</nowiki></code> is transcluded in template/module documentation pages. This template should only be used on subpages titled "doc". This is '''not''' the template of the same name from Wikipedia and it is not used in the same way. ==Usage== Place {{t|documentation}} at the top of the documentation page, then transclude <code><nowiki>{{/doc}}</nowiki></code> directly from the main template page,..." wikitext text/x-wiki {{Documentation}} {{Invokes|Documentation}} <code><nowiki>{{Documentation}}</nowiki></code> is transcluded in template/module documentation pages. This template should only be used on subpages titled "doc". This is '''not''' the template of the same name from Wikipedia and it is not used in the same way. ==Usage== Place {{t|documentation}} at the top of the documentation page, then transclude <code><nowiki>{{/doc}}</nowiki></code> directly from the main template page, within <nowiki><noinclude></nowiki> tags. If the page to be documented is a subpage, use {{t|documentation|pagename of page to be documented}} at the top of the documentation page. For example, Template:Foo/bar's documentation page would use {{t|documentation|Template:Foo/bar}}. ==Note== This template links to a /doc that may appear useless, however, it exists in order to link navboxes and userboxes to their base template's documentation. <includeonly>[[Category:Template documentation| ]]</includeonly> 199f3258a35ad594b8cb714ab851263a3acb3058 Category:Pages with script errors 14 230 403 2024-03-22T17:43:58Z Habblet 11 Created page with "{{Categoryheader|pages|with Lua script errors|yes|the Scribunto extension via the [[MediaWiki:Scribunto-common-error-category]] message page when an error is left unhandled in a Lua module. This often occurs when templates are meant to be invoked with parameters but are not wrapped in <code><nowiki><includeonly></includeonly></nowiki></code>, so the template page will have a script error, or due to expression errors from invalid characters (e.g., commas left in numbers p..." wikitext text/x-wiki {{Categoryheader|pages|with Lua script errors|yes|the Scribunto extension via the [[MediaWiki:Scribunto-common-error-category]] message page when an error is left unhandled in a Lua module. This often occurs when templates are meant to be invoked with parameters but are not wrapped in <code><nowiki><includeonly></includeonly></nowiki></code>, so the template page will have a script error, or due to expression errors from invalid characters (e.g., commas left in numbers passed to <code><nowiki>{{#expr:}}</nowiki></code>. This category should not be manually added to any pages.}} {{Hidden category}} [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__ 406285654939f602e7debf2c953bb60250ac7bcf Template:Invokes 10 105 404 165 2024-03-22T17:45:22Z Habblet 11 wikitext text/x-wiki <includeonly>{{#ifeq:{{NAMESPACE}}|Module|<div class="seealso">'''''{{#replace:{{FULLPAGENAME}}|/doc}}''' is invoked by [[{{{page|Template:{{{1}}}}}}]].{{#ifeq:{{lc:{{{category}}}}}|no||{{#ifeq:{{SUBPAGENAME}}|doc||[[Category:Template invoked modules]]}}}}''</div>|<div class="seealso">'''''{{#replace:{{FULLPAGENAME}}|/doc}}''' invokes [[Module:{{{1}}}]] using [[Brighter Shores:Lua|Lua]].{{#ifeq:{{lc:{{{category}}}}}|no||{{#ifeq:{{SUBPAGENAME}}|doc||[[Category:Lua-based templates]]}}}}''</div>}}</includeonly><noinclude>{{/doc}}</noinclude> c42ce6c6d59b647620611300f5bb65b1763644d2 Module:DependencyList 828 231 405 2024-03-22T17:47:47Z Habblet 11 Created page with "local p = {} local libraryUtil = require( 'libraryUtil' ) local arr = require( 'Module:Array' ) local yn = require( 'Module:Yesno' ) local param = require( 'Module:Paramtest' ) local dpl = require( 'Module:DPLlua' ) local tooltip = require( 'Module:Tooltip' ) local moduleIsUsed = false local COLLAPSE_LIST_LENGTH_THRESHOLD = 5 local MAX_DYNAMIC_REQUIRE_LIST_LENGTH = 30 local dynamicRequireListQueryCache = {} local builtins = { ["libraryUtil"] = { link = "mw:S..." Scribunto text/plain local p = {} local libraryUtil = require( 'libraryUtil' ) local arr = require( 'Module:Array' ) local yn = require( 'Module:Yesno' ) local param = require( 'Module:Paramtest' ) local dpl = require( 'Module:DPLlua' ) local tooltip = require( 'Module:Tooltip' ) local moduleIsUsed = false local COLLAPSE_LIST_LENGTH_THRESHOLD = 5 local MAX_DYNAMIC_REQUIRE_LIST_LENGTH = 30 local dynamicRequireListQueryCache = {} local builtins = { ["libraryUtil"] = { link = "mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#libraryUtil", categories = {}, }, ["strict"] = { link = "mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#strict", categories = { "Strict mode modules" }, }, } --- Used in case 'require( varName )' is found. Attempts to find a string value stored in 'varName'. ---@param content string The content of the module to search in ---@param varName string ---@return string local function substVarValue( content, varName ) local res = content:match( varName .. '%s*=%s*(%b""%s-%.*)' ) or content:match( varName .. "%s*=%s*(%b''%s-%.*)" ) or '' if res:find( '^(["\'])[Mm]odule:[%S]+%1' ) and not res:find( '%.%.' ) and not res:find( '%%%a' ) then return mw.text.trim( res ) else return '' end end ---@param capture string ---@param content string The content of the module to search in ---@return string local function extractModuleName( capture, content ) capture = capture:gsub( '^%(%s*(.-)%s*%)$', '%1' ) if capture:find( '^(["\']).-%1$' ) then -- Check if it is already a pure string return capture elseif capture:find( '^[%a_][%w_]*$' ) then -- Check if if is a single variable return substVarValue( content, capture ) end return capture end ---@param str string ---@return string local function formatPageName( str ) local name = mw.text.trim(str) :gsub( '^([\'\"])(.-)%1$', '%2' ) -- Only remove quotes at start and end of string if both are the same type :gsub( '_', ' ' ) :gsub( '^.', string.upper ) :gsub( ':.', string.upper ) return name end ---@param str string ---@param allowBuiltins? boolean ---@return string local function formatModuleName( str, allowBuiltins ) if allowBuiltins then local name = mw.text.trim(str) -- Only remove quotes at start and end of string if both are the same type :gsub([[^(['"])(.-)%1$]], '%2') if builtins[name] then return name end end local module = formatPageName( str ) if not string.find( module, '^[Mm]odule:' ) then module = 'Module:' .. module end return module end local function dualGmatch( str, pat1, pat2 ) local f1 = string.gmatch( str, pat1 ) if pat2 then local f2 = string.gmatch( str, pat2 ) return function() return f1() or f2() end else return f1 end end local function isDynamicPath( str ) return string.find( str, '%.%.' ) or string.find( str, '%%%a' ) end --- Used in case a construct like 'require( "Module:wowee/" .. isTheBest )' is found. --- Will return a list of pages which satisfy this pattern where 'isTheBest' can take any value. ---@param query string ---@return string[] local function getDynamicRequireList( query ) if query:find( '%.%.' ) then query = mw.text.split( query, '..', true ) query = arr.map( query, function(x) return mw.text.trim(x) end ) query = arr.map( query, function(x) return (x:match('^[\'\"](.-)[\'\"]$') or '%') end ) query = table.concat( query ) else local _, _query = query:match( '(["\'])(.-)%1' ) query = _query:gsub( '%%%a', '%%' ) end query = query:gsub( '^[Mm]odule:', '' ) if query:find( '^[Ee]xchange/' ) or query:find( '^[Dd]ata/' ) then return { 'Module:' .. query } -- This format will later be used by formatDynamicQueryLink() end if dynamicRequireListQueryCache[ query ] then return dynamicRequireListQueryCache[ query ] end local list = dpl.ask{ namespace = 'Module', titlematch = query, nottitlematch = '%/doc|'..query..'/%', distinct = 'strict', ignorecase = true, ordermethod = 'title', count = MAX_DYNAMIC_REQUIRE_LIST_LENGTH + 1, skipthispage = 'no', allowcachedresults = true, cacheperiod = 604800 -- One week } if #list > MAX_DYNAMIC_REQUIRE_LIST_LENGTH then list = { 'Module:' .. query } end dynamicRequireListQueryCache[ query ] = list return list end --- Returns a list of modules loaded and required by module 'moduleName'. ---@param moduleName string ---@param searchForUsedTemplates? boolean ---@return table<string, string[]> local function getRequireList( moduleName, searchForUsedTemplates ) local content = mw.title.new( moduleName ):getContent() local requireList = arr{} local loadDataList = arr{} local loadJsonDataList = arr{} local usedTemplateList = arr{} local dynamicRequirelist = arr{} local dynamicLoadDataList = arr{} local dynamicLoadJsonDataList = arr{} local extraCategories = arr{} assert( content ~= nil, string.format( '%s does not exist', moduleName ) ) content = content:gsub( '%-%-%[(=-)%[.-%]%1%]', '' ):gsub( '%-%-[^\n]*', '' ) -- Strip comments local function getList( pat1, pat2, list, dynList ) for match in dualGmatch( content, pat1, pat2 ) do match = mw.text.trim( match ) local name = extractModuleName( match, content ) if isDynamicPath( name ) then dynList:insert( getDynamicRequireList( name ), true ) elseif name ~= '' then name = formatModuleName( name, true ) table.insert( list, name ) if builtins[name] then extraCategories = extraCategories:insert( builtins[name].categories, true ) end end end end getList( 'require%s*(%b())', 'require%s*((["\'])%s*[Mm]odule:.-%2)', requireList, dynamicRequirelist ) getList( 'mw%.loadData%s*(%b())', 'mw%.loadData%s*((["\'])%s*[Mm]odule:.-%2)', loadDataList, dynamicLoadDataList ) getList( 'mw%.loadJsonData%s*(%b())', 'mw%.loadJsonData%s*((["\'])%s*[Mm]odule:.-%2)', loadJsonDataList, dynamicLoadJsonDataList ) getList( 'pcall%s*%(%s*require%s*,([^%),]+)', nil, requireList, dynamicRequirelist ) getList( 'pcall%s*%(%s*mw%.loadData%s*,([^%),]+)', nil, loadDataList, dynamicLoadDataList ) getList( 'pcall%s*%(%s*mw%.loadJsonData%s*,([^%),]+)', nil, loadJsonDataList, dynamicLoadJsonDataList ) if searchForUsedTemplates then for preprocess in string.gmatch( content, ':preprocess%s*(%b())' ) do local function recursiveGMatch( str, pat ) local list = {} local i = 0 repeat for match in string.gmatch( list[i] or str, pat ) do table.insert( list, match ) end i = i + 1 until i > #list or i > 100 i = 0 return function() i = i + 1 return list[i] end end for template in recursiveGMatch( preprocess, '{(%b{})}' ) do local name = string.match( template, '{(.-)[|{}]' ) if name ~= '' then if name:find( ':' ) then local ns = name:match( '^(.-):' ) if arr.contains( {'', 'template', 'calculator', 'user'}, ns:lower() ) then table.insert( usedTemplateList, name ) elseif ns == ns:upper() then table.insert( usedTemplateList, ns ) -- Probably a magic word end else if name:match( '^%u+$' ) or name == '!' then table.insert( usedTemplateList, name ) -- Probably a magic word else table.insert( usedTemplateList, 'Template:'..name ) end end end end end end requireList = requireList .. dynamicRequirelist requireList = requireList:unique() loadDataList = loadDataList .. dynamicLoadDataList loadDataList = loadDataList:unique() loadJsonDataList = loadJsonDataList .. dynamicLoadJsonDataList usedTemplateList = usedTemplateList:unique() extraCategories = extraCategories:unique() table.sort( requireList ) table.sort( loadDataList ) table.sort( loadJsonDataList ) table.sort( usedTemplateList ) table.sort( extraCategories ) return { requireList = requireList, loadDataList = loadDataList, loadJsonDataList = loadJsonDataList, usedTemplateList = usedTemplateList, extraCategories = extraCategories } end --- Returns a list with module and function names used in all '{{#Invoke:moduleName|funcName}}' found on page 'templateName'. ---@param templateName string ---@return table<string, string>[] local function getInvokeCallList( templateName ) local content = mw.title.new( templateName ):getContent() local invokeList = {} assert( content ~= nil, string.format( '%s does not exist', templateName ) ) for moduleName, funcName in string.gmatch( content, '{{[{|safeubt:}]-#[Ii]nvoke:([^|]+)|([^}|]+)[^}]*}}' ) do moduleName = formatModuleName( moduleName ) funcName = mw.text.trim( funcName ) if string.find( funcName, '^{{{' ) then funcName = funcName .. '}}}' end table.insert( invokeList, {moduleName=moduleName, funcName=funcName} ) end -- For form calcs invoking the module directly for config in dualGmatch( content, '<pre%s+class%s*=%s*["\']jcConfig["\'](.-)</pre>', '{{[Ff]orm calculator%s*|(.+)}}' ) do local moduleName = string.match( config, 'module%s*=%s*(.-)[\n|]' ) if param.has_content( moduleName ) then moduleName = formatModuleName( moduleName ) local funcName = string.match( config, 'modulefunc%s*=%s*(.-)[\n|]' ) or 'main' table.insert( invokeList, {moduleName=moduleName, funcName=funcName} ) end end invokeList = arr.unique( invokeList, function(x) return x.moduleName..x.funcName end ) table.sort( invokeList, function(x, y) return x.moduleName..x.funcName < y.moduleName..y.funcName end ) return invokeList end ---@param pageName string ---@param addCategories boolean ---@return string local function messageBoxUnused( pageName, addCategories ) local html = mw.html.create( 'table' ):addClass( 'messagebox obsolete plainlinks' ) html:tag( 'td' ) :attr( 'width', '40xp' ) :wikitext( '[[File:Willow logs (historical).png|center|30px|link=]]' ) :done() :tag( 'td' ) :wikitext( "'''This module is unused.'''" ) :tag( 'div' ) :css{ ['font-size']='0.85em', ['line-height']='1.45em' } :wikitext( string.format( 'This module is neither invoked by a template nor required/loaded by another module. If this is in error, make sure to add <code>{{[[Template:Documentation|Documentation]]}}</code>/<code>{{[[Template:No documentation|No&nbsp;documentation]]}}</code> to the calling template\'s or parent\'s module documentation.', pageName ) ) :wikitext( addCategories and '[[Category:Unused modules]]' or '' ) :done() :done() return tostring( html ) end local function collapseList( list, id, listType ) local text = string.format( '%d %s', #list, listType ) local button = tooltip._span{ name=id, alt=text } list = arr.map( list, function(x) return '\n# '..x end ) local content = tooltip._div{ name=id, content='\n'..table.concat( list )..'\n\n' } return { tostring( button ) .. tostring( content ) } end --- Creates a link to [[Special:Search]] showing all pages found by getDynamicRequireList() in case it found more than MAX_DYNAMIC_REQUIRE_LIST_LENGTH pages. ---@param query string @This will be in a format like 'Module:Wowee/%' or 'Module:Wowee/%/data' ---@return string local function formatDynamicQueryLink( query ) local prefix = query:match( '^([^/]+)' ) local linkText = query:gsub( '%%', '&lt; ... &gt;' ) query = query:gsub( '^Module:', '' ) query = query:gsub( '([^/]+)/?', function ( match ) if match == '%' then return '\\/[^\\/]+' else return '\\/"' .. match .. '"' end end ) query = query:gsub( '^\\/', '' ) query = string.format( 'intitle:/%s%s/i -intitle:/%s\\/""/i -intitle:doc prefix:"%s"', query, query:find( '"$' ) and '' or '""', query, prefix ) return string.format( '<span class="plainlinks">[%s %s]</span>', tostring( mw.uri.fullUrl( 'Special:Search', { search = query } ) ), linkText ) end ---@param templateName string ---@param addCategories boolean ---@param invokeList table<string, string>[] @This is the list returned by getInvokeCallList() ---@return string local function formatInvokeCallList( templateName, addCategories, invokeList ) local category = addCategories and '[[Category:Lua-based templates]]' or '' local res = {} for _, item in ipairs( invokeList ) do table.insert( res, string.format( "<div class='seealso'>'''%s''' invokes function '''%s''' in [[%s]] using [[Brighter Shores:Lua|Lua]].</div>", templateName, item.funcName, item.moduleName ) ) end if #invokeList > 0 then table.insert( res, category ) end return table.concat( res ) end ---@param moduleName string ---@param addCategories boolean ---@param whatLinksHere string @A list generated by a dpl of pages in the Template or Calculator namespace which link to moduleName. ---@return string local function formatInvokedByList( moduleName, addCategories, whatLinksHere ) local function lcfirst( str ) return string.gsub( str, '^[Mm]odule:.', string.lower ) end local templateData = arr.map( whatLinksHere, function(x) return {templateName=x, invokeList=getInvokeCallList(x)} end ) templateData = arr.filter( templateData, function(x) return arr.any( x.invokeList, function(y) return lcfirst(y.moduleName) == lcfirst(moduleName) end ) end ) local invokedByList = {} for _, template in ipairs( templateData ) do for _, invoke in ipairs( template.invokeList ) do table.insert( invokedByList, string.format( "function '''%s''' is invoked by [[%s]]", invoke.funcName, template.templateName ) ) end end table.sort( invokedByList) local res = {} if #invokedByList > COLLAPSE_LIST_LENGTH_THRESHOLD then table.insert( res, string.format( "<div class='seealso'>'''%s''' is invoked by %s.</div>", moduleName, collapseList( invokedByList, 'invokedBy', 'templates' )[1] ) ) else for _, item in ipairs( invokedByList ) do table.insert( res, string.format( "<div class='seealso'>'''%s's''' %s.</div>", moduleName, item ) ) end end if #templateData > 0 then moduleIsUsed = true table.insert( res, (addCategories and '[[Category:Template invoked modules]]' or '') ) end return table.concat( res ) end ---@param moduleName string ---@param addCategories boolean ---@param whatLinksHere string @A list generated by a dpl of pages in the Module namespace which link to moduleName. ---@return string local function formatRequiredByList( moduleName, addCategories, whatLinksHere ) local childModuleData = arr.map( whatLinksHere, function ( title ) local lists = getRequireList( title ) return {name=title, requireList=lists.requireList, loadDataList=lists.loadDataList .. lists.loadJsonDataList} end ) local requiredByList = arr.map( childModuleData, function ( item ) if arr.any( item.requireList, function(x) return x:lower()==moduleName:lower() end ) then if item.name:find( '%%' ) then return formatDynamicQueryLink( item.name ) else return '[[' .. item.name .. ']]' end end end ) local loadedByList = arr.map( childModuleData, function ( item ) if arr.any( item.loadDataList, function(x) return x:lower()==moduleName:lower() end ) then if item.name:find( '%%' ) then return formatDynamicQueryLink( item.name ) else return '[[' .. item.name .. ']]' end end end ) if #requiredByList > 0 or #loadedByList > 0 then moduleIsUsed = true end if #requiredByList > COLLAPSE_LIST_LENGTH_THRESHOLD then requiredByList = collapseList( requiredByList, 'requiredBy', 'modules' ) end if #loadedByList > COLLAPSE_LIST_LENGTH_THRESHOLD then loadedByList = collapseList( loadedByList, 'loadedBy', 'modules' ) end local res = {} for _, requiredByModuleName in ipairs( requiredByList ) do table.insert( res, string.format( "<div class='seealso'>'''%s''' is required by %s.</div>", moduleName, requiredByModuleName ) ) end if #requiredByList > 0 then table.insert( res, (addCategories and '[[Category:Modules required by modules]]' or '') ) end for _, loadedByModuleName in ipairs( loadedByList ) do table.insert( res, string.format( "<div class='seealso'>'''%s''' is loaded by %s.</div>", moduleName, loadedByModuleName ) ) end if #loadedByList > 0 then table.insert( res, (addCategories and '[[Category:Module data]]' or '') ) end return table.concat( res ) end local function formatImportList( currentPageName, moduleList, id, message, category ) if #moduleList > COLLAPSE_LIST_LENGTH_THRESHOLD then moduleList = collapseList( moduleList, id, 'modules' ) end local res = arr.map( moduleList, function( moduleName ) return '<div class="seealso">' .. string.format( message, currentPageName, moduleName ) .. '</div>' end ) if #moduleList > 0 and category then table.insert( res, string.format( '[[Category:%s]]', category ) ) end return table.concat( res ) end local function formatUsedTemplatesList( currentPageName, addCategories, usedTemplateList ) local res = {} if #usedTemplateList > COLLAPSE_LIST_LENGTH_THRESHOLD then usedTemplateList = collapseList( usedTemplateList, 'usedTemplates', 'templates' ) end for _, templateName in ipairs( usedTemplateList ) do table.insert( res, string.format( "<div class='seealso'>'''%s''' transcludes %s using <samp>frame:preprocess()</samp>.</div>", currentPageName, templateName ) ) end return table.concat( res ) end function p.main( frame ) local args = frame:getParent().args return p._main( args[1], args.category, args.isUsed ) end ---@param currentPageName string|nil ---@param addCategories boolean|string|nil ---@return string function p._main( currentPageName, addCategories, isUsed ) libraryUtil.checkType( 'Module:RequireList._main', 1, currentPageName, 'string', true ) libraryUtil.checkTypeMulti( 'Module:RequireList._main', 2, addCategories, {'boolean', 'string', 'nil'} ) libraryUtil.checkTypeMulti( 'Module:RequireList._main', 3, isUsed, {'boolean', 'string', 'nil'} ) local title = mw.title.getCurrentTitle() -- Leave early if not in module, template or calculator namespace or if module is part of exchange or data groups if param.is_empty( currentPageName ) and ( ( not arr.contains( {'Module', 'Template', 'Calculator'}, title.nsText ) ) or ( title.nsText == 'Module' and ( arr.contains( {'Exchange', 'Exchange historical', 'Data'}, title.text:match( '^(.-)/' ) ) ) ) ) then return '' end currentPageName = param.default_to( currentPageName, title.fullText ) currentPageName = string.gsub( currentPageName, '/[Dd]oc$', '' ) currentPageName = formatPageName( currentPageName ) addCategories = yn( param.default_to( addCategories, title.subpageText~='doc' ) ) moduleIsUsed = yn( param.default_to( isUsed, false ) ) if title.text:lower():find( 'sandbox' ) then moduleIsUsed = true -- Don't show sandbox modules as unused end if currentPageName:find( '^Template:' ) or currentPageName:find( '^Calculator:' ) then local invokeList = getInvokeCallList( currentPageName ) return formatInvokeCallList(currentPageName, addCategories, invokeList) end local whatTemplatesLinkHere, whatModulesLinkHere = dpl.ask( { namespace = 'Template|Calculator', linksto = currentPageName, distinct = 'strict', ignorecase = true, ordermethod = 'title', allowcachedresults = true, cacheperiod = 604800 -- One week }, { namespace = 'Module', linksto = currentPageName, nottitlematch = '%/doc|Exchange/%|Exchange historical/%|Data/%|' .. currentPageName:gsub( 'Module:', '' ), distinct = 'strict', ignorecase = true, ordermethod = 'title', allowcachedresults = true, cacheperiod = 604800 -- One week } ) local lists = getRequireList( currentPageName, true ) local requireList = arr.map( lists.requireList, function ( moduleName ) if moduleName:find( '%%' ) then return formatDynamicQueryLink( moduleName ) elseif builtins[moduleName] then return '[[' .. builtins[moduleName].link .. '|' .. moduleName .. ']]' else return '[[' .. moduleName .. ']]' end end ) local loadDataList = arr.map( lists.loadDataList, function ( moduleName ) if moduleName:find( '%%' ) then return formatDynamicQueryLink( moduleName ) else return '[[' .. moduleName .. ']]' end end ) local loadJsonDataList = arr.map( lists.loadJsonDataList, function ( moduleName ) if moduleName:find( '%%' ) then return formatDynamicQueryLink( moduleName ) else return '[[' .. moduleName .. ']]' end end ) local usedTemplateList = arr.map( lists.usedTemplateList, function( templateName ) if string.find( templateName, ':' ) then -- Real templates are prefixed by a namespace, magic words are not return '[['..templateName..']]' else return "'''&#123;&#123;"..templateName.."&#125;&#125;'''" -- Magic words don't have a page so make them bold instead end end ) local res = {} table.insert( res, formatInvokedByList( currentPageName, addCategories, whatTemplatesLinkHere ) ) table.insert( res, formatImportList( currentPageName, requireList, 'require', "'''%s''' requires %s.", addCategories and 'Modules requiring modules' ) ) table.insert( res, formatImportList( currentPageName, loadDataList, 'loadData', "'''%s''' loads data from %s.", addCategories and 'Modules using data' ) ) table.insert( res, formatImportList( currentPageName, loadJsonDataList, 'loadJsonData', "'''%s''' loads data from %s.", addCategories and 'Modules using data' ) ) table.insert( res, formatUsedTemplatesList( currentPageName, addCategories, usedTemplateList ) ) table.insert( res, formatRequiredByList( currentPageName, addCategories, whatModulesLinkHere ) ) if addCategories then local extraCategories = arr.map( lists.extraCategories, function( categoryName ) return "[[Category:" .. categoryName .. "]]" end ) table.insert( res, table.concat( extraCategories ) ) end if not moduleIsUsed then table.insert( res, 1, messageBoxUnused( currentPageName:gsub( 'Module:', '' ), addCategories ) ) end return table.concat( res ) end return p 89fb41befeb6c6cc48594080a88d87225bbd2b64 Module:DependencyList/doc 828 232 406 2024-03-22T17:47:59Z Habblet 11 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Template:No documentation 10 233 407 2024-03-22T17:48:44Z Habblet 11 Created page with "<includeonly>{{Documentation|Template:No documentation|DependencyList=No}} <span class='plainlinks'>'''This {{PageType}} does not have any documentation.''' Please consider adding documentation at [[{{#replace:{{FULLPAGENAME}}|/doc}}/doc]]. <nowiki>[</nowiki>[{{fullurl:{{#replace:{{FULLPAGENAME}}|/doc}}/doc|action=edit}} edit]<nowiki>]</nowiki></span>{{#If:{{{DependencyList|}}}||{{DependencyList}}}}[[Category:Pages needing documentation]]</includeonly><noinclude>{{/doc}}..." wikitext text/x-wiki <includeonly>{{Documentation|Template:No documentation|DependencyList=No}} <span class='plainlinks'>'''This {{PageType}} does not have any documentation.''' Please consider adding documentation at [[{{#replace:{{FULLPAGENAME}}|/doc}}/doc]]. <nowiki>[</nowiki>[{{fullurl:{{#replace:{{FULLPAGENAME}}|/doc}}/doc|action=edit}} edit]<nowiki>]</nowiki></span>{{#If:{{{DependencyList|}}}||{{DependencyList}}}}[[Category:Pages needing documentation]]</includeonly><noinclude>{{/doc}}</noinclude> dc2c79675df9a4bdc9b56f381202884e4cd335da Template:Permanent Protection/doc 10 234 408 2024-03-22T17:48:50Z BlackHawk 10 Created page with "{{documentation}} This template displays a notice that a page is permanently protected. ==Usage== This template can be used by entering the following onto a relevant page. It will automatically add [[:Category:Permanently protected pages]] to the page. <pre>{{Permanent Protection}}</pre> <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly>" wikitext text/x-wiki {{documentation}} This template displays a notice that a page is permanently protected. ==Usage== This template can be used by entering the following onto a relevant page. It will automatically add [[:Category:Permanently protected pages]] to the page. <pre>{{Permanent Protection}}</pre> <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> d2dfee01e636c214ea38d418a9232de4622fdca4 Template:No documentation/doc 10 235 409 2024-03-22T17:48:53Z Habblet 11 Created page with "{{Documentation}} This template should be used when there is no documentation for a Module or Template." wikitext text/x-wiki {{Documentation}} This template should be used when there is no documentation for a Module or Template. 85dd718567c1a7e192962721bcf1ba9fa1a7468e Module:Documentation 828 236 410 2024-03-22T17:49:18Z Habblet 11 Created page with "-- <nowiki> local dependencyList = require( 'Module:DependencyList' ) local yn = require( 'Module:Yesno' ) local p = {} function p.doc( frame ) local title = mw.title.getCurrentTitle() local args = frame:getParent().args local page = args[1] or mw.ustring.gsub( title.fullText, '/doc$', '' ) local addDependencyList = yn( args.DependencyList or true ) local ret, cats, ret1, ret2, ret3 local onModule = title.namespace == 828 -- subpage head..." Scribunto text/plain -- <nowiki> local dependencyList = require( 'Module:DependencyList' ) local yn = require( 'Module:Yesno' ) local p = {} function p.doc( frame ) local title = mw.title.getCurrentTitle() local args = frame:getParent().args local page = args[1] or mw.ustring.gsub( title.fullText, '/doc$', '' ) local addDependencyList = yn( args.DependencyList or true ) local ret, cats, ret1, ret2, ret3 local onModule = title.namespace == 828 -- subpage header if title.subpageText == 'doc' then ret = mw.html.create( 'table' ) :addClass( 'messagebox' ) :addClass( 'info' ) :tag( 'tr' ) :tag( 'td' ) :css( 'width', '40px' ) :wikitext( '[[File:Information icon-grey.svg|35px|centre|link=]]' ) :done() :tag( 'td' ) :tag( 'b' ) :wikitext( 'This is a documentation subpage for [[' .. page .. ']].' ) :done() :tag( 'div' ) :css({ ['font-size'] = '0.85em', ['line-height'] = '1.4em' }) :wikitext( string.format( 'It contains usage information, categories, and other content that is not part of the original %s page.', onModule and 'module' or 'template' ) ) :done() :done() :done() :done() if title.namespace == 10 then -- Template namespace cats = '[[Category:Template documentation|' .. title.baseText .. ']]' ret2 = addDependencyList and dependencyList._main() or '' elseif title.namespace == 116 then -- Calculator namespace cats = '' ret2 = addDependencyList and dependencyList._main() or '' elseif title.namespace == 828 then -- Module namespace cats = '[[Category:Module documentation|' .. title.baseText .. ']]' ret2 = addDependencyList and dependencyList._main() or '' else cats = '' ret2 = '' end return tostring( ret ) .. ret2 .. cats end -- template header -- don't use mw.html as we aren't closing the main div tag ret1 = '<div class="documentation">' ret2 = mw.html.create( nil ) :tag( 'div' ) :addClass( 'doc-header documentation-header') :tag( 'span' ) :addClass( 'doc-title documentation-title' ) :wikitext( string.format('%s documentation', onModule and 'Module' or 'Template') ) :done() :done() :tag( 'div' ) :addClass( 'doc-transclusion documentation-subheader' ) :tag( 'span' ) :addClass( 'documentation-documentation' ) :wikitext( 'This documentation is transcluded from [[' .. page .. '/doc]]. ' ) :done() :tag( 'span' ) :addClass( 'doc-editlinks documentation-links plainlinks' ) :wikitext( '[[' .. tostring( mw.uri.fullUrl( page .. '/doc', {action='edit'} ) ) .. ' edit]] ' .. '[[' .. tostring( mw.uri.fullUrl( page .. '/doc', {action='history'} ) ) .. ' history]] ' .. '[<span class="jsPurgeLink">[' .. tostring( mw.uri.fullUrl( title.fullText, {action='purge'} ) ) .. ' purge]</span>]' ) :done() :done() ret3 = addDependencyList and dependencyList._main() or '' return ret1 .. tostring( ret2 ) .. '<div class="documentation-content">' .. ret3 end return p -- </nowiki> 16c01d5704d359898096ee7210644402c98c11cb Module:Documentation/doc 828 237 411 2024-03-22T17:49:52Z Habblet 11 Created page with "{{Documentation}} Implements [[Template:Documentation]] for templates and modules." wikitext text/x-wiki {{Documentation}} Implements [[Template:Documentation]] for templates and modules. 429c723e14abe34f5687729bb14a614df06db29c Module:LibraryUtil 828 238 412 2024-03-22T17:50:39Z Habblet 11 Created page with "-- <nowiki> local libraryUtil = require( 'libraryUtil' ) -- libraryUtil is a standard scribunto module, the following commented out code is just to show what is inside it. Documentation about these functions can be found at https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#libraryUtil --[=[ local libraryUtil = {} function libraryUtil.checkType( name, argIdx, arg, expectType, nilOk ) if arg == nil and nilOk then return end if type( arg ) ~= ex..." Scribunto text/plain -- <nowiki> local libraryUtil = require( 'libraryUtil' ) -- libraryUtil is a standard scribunto module, the following commented out code is just to show what is inside it. Documentation about these functions can be found at https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#libraryUtil --[=[ local libraryUtil = {} function libraryUtil.checkType( name, argIdx, arg, expectType, nilOk ) if arg == nil and nilOk then return end if type( arg ) ~= expectType then local msg = string.format( "bad argument #%d to '%s' (%s expected, got %s)", argIdx, name, expectType, type( arg ) ) error( msg, 3 ) end end function libraryUtil.checkTypeMulti( name, argIdx, arg, expectTypes ) local argType = type( arg ) for _, expectType in ipairs( expectTypes ) do if argType == expectType then return end end local n = #expectTypes local typeList if n > 1 then typeList = table.concat( expectTypes, ', ', 1, n - 1 ) .. ' or ' .. expectTypes[n] else typeList = expectTypes[1] end local msg = string.format( "bad argument #%d to '%s' (%s expected, got %s)", argIdx, name, typeList, type( arg ) ) error( msg, 3 ) end function libraryUtil.checkTypeForIndex( index, value, expectType ) if type( value ) ~= expectType then local msg = string.format( "value for index '%s' must be %s, %s given", index, expectType, type( value ) ) error( msg, 3 ) end end function libraryUtil.checkTypeForNamedArg( name, argName, arg, expectType, nilOk ) if arg == nil and nilOk then return end if type( arg ) ~= expectType then local msg = string.format( "bad named argument %s to '%s' (%s expected, got %s)", argName, name, expectType, type( arg ) ) error( msg, 3 ) end end function libraryUtil.makeCheckSelfFunction( libraryName, varName, selfObj, selfObjDesc ) return function ( self, method ) if self ~= selfObj then error( string.format( "%s: invalid %s. Did you call %s with a dot instead of a colon, i.e. " .. "%s.%s() instead of %s:%s()?", libraryName, selfObjDesc, method, varName, method, varName, method ), 3 ) end end end ]=] function libraryUtil.makeCheckClassFunction( libraryName, varName, class, selfObjDesc ) return function ( self, method ) if getmetatable( self ) ~= class then error( string.format( "%s: invalid %s. Did you call %s with a dot instead of a colon, i.e. " .. "%s.%s() instead of %s:%s()?", libraryName, selfObjDesc, method, varName, method, varName, method ), 3 ) end end end return libraryUtil -- </nowiki> e6bdd6cd1d63b0f32aed2b10cac598f1eaacc478 Module:LibraryUtil/doc 828 239 413 2024-03-22T17:50:52Z Habblet 11 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Module:Array 828 240 414 2024-03-22T17:51:41Z Habblet 11 Created page with "local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local checkTypeMulti = libraryUtil.checkTypeMulti ---Returns the length of the array but it also works on proxy arrays ---@param arr any[] ---@return integer local function len(arr) local l = #arr if l == 0 then if arr[1] ~= nil then -- Exponential search to find length of proxy table local low = 1 local high = 1 local ceil = math.ceil while arr[high] ~= nil do high..." Scribunto text/plain local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local checkTypeMulti = libraryUtil.checkTypeMulti ---Returns the length of the array but it also works on proxy arrays ---@param arr any[] ---@return integer local function len(arr) local l = #arr if l == 0 then if arr[1] ~= nil then -- Exponential search to find length of proxy table local low = 1 local high = 1 local ceil = math.ceil while arr[high] ~= nil do high = high * 2 end while low ~= high do local m = ceil((low + high) / 2) if arr[m] == nil then high = m - 1 else low = m end end return low else return 0 end else return l end end ---@class Array ---@operator call(any[]): Array ---@operator concat(any[]): Array ---@operator concat(number|string|function): string ---@operator unm: Array ---@operator add(number|number[]|Array): Array ---@operator sub(number|number[]|Array): Array ---@operator mul(number|number[]|Array): Array ---@operator div(number|number[]|Array): Array ---@operator pow(number|number[]|Array): Array local Array = { pop = table.remove, len = len } Array.__index = Array setmetatable(Array, { __index = table, __call = function (_, arr) return Array.new(arr) end }) function Array.__concat(lhs, rhs) if type(lhs) == 'table' and type(rhs) == 'table' then local res = {} local l1 = len(lhs) for i = 1, l1 do res[i] = lhs[i] end for i = 1, len(rhs) do res[l1 + i] = rhs[i] end return setmetatable(res, getmetatable(lhs) or getmetatable(rhs)) else return tostring(lhs) .. tostring(rhs) end end function Array.__unm(arr) return Array.map(arr, function(x) return -x end) end ---@param lhs number|number[]|Array ---@param rhs number|number[]|Array ---@param funName string ---@param opName string ---@param fun fun(lhs: number, rhs: number): number ---@return Array local function mathTemplate(lhs, rhs, funName, opName, fun) checkTypeMulti('Module:Array.' .. funName, 1, lhs, {'number', 'table'}) checkTypeMulti('Module:Array.' .. funName, 2, rhs, {'number', 'table'}) local res = {} if type(lhs) == 'number' then for i = 1, len(rhs) do res[i] = fun(lhs, rhs[i]) end elseif type(rhs) == 'number' then for i = 1, len(lhs) do res[i] = fun(lhs[i], rhs) end else assert(len(lhs) == len(rhs), string.format('Elementwise %s failed because arrays have different sizes (left: %d, right: %d)', opName, len(lhs), len(rhs))) for i = 1, len(lhs) do res[i] = fun(lhs[i], rhs[i]) end end return setmetatable(res, getmetatable(lhs) or getmetatable(rhs)) end function Array.__add(lhs, rhs) return mathTemplate(lhs, rhs, '__add', 'addition', function(x, y) return x + y end) end function Array.__sub(lhs, rhs) return mathTemplate(lhs, rhs, '__sub', 'substraction', function(x, y) return x - y end) end function Array.__mul(lhs, rhs) return mathTemplate(lhs, rhs, '__mul', 'multiplication', function(x, y) return x * y end) end function Array.__div(lhs, rhs) return mathTemplate(lhs, rhs, '__div', 'division', function(x, y) return x / y end) end function Array.__pow(lhs, rhs) return mathTemplate(lhs, rhs, '__pow', 'exponentiation', function(x, y) return x ^ y end) end function Array.__eq(lhs, rhs) if len(lhs) ~= len(rhs) then return false end for i = 1, len(lhs) do if lhs[i] ~= rhs[i] then return false end end return true end ---Behaviour depends on the value of `fn`: ---* `nil` - Checks that the array doesn't contain any **false** elements. ---* `fun(elem: any, i?: integer): boolean` - Returns **true** if `fn` returns **true** for every element. ---* `number` | `table` | `boolean` - Checks that all elements in `arr` are equal to this value. ---@param arr any[] ---@param fn? any ---@return boolean function Array.all(arr, fn) checkType('Module:Array.all', 1, arr, 'table') if fn == nil then fn = function(item) return item end end if type(fn) ~= 'function' then local val = fn fn = function(item) return item == val end end for i = 1, len(arr) do ---@diagnostic disable-next-line: redundant-parameter if not fn(arr[i], i) then return false end end return true end ---Behaviour depends on the value of `fn`: ---* `nil` - Checks that the array contains at least one non **false** element. ---* `fun(elem: any, i?: integer): boolean` - Returns **true** if `fn` returns **true** for at least one element. ---* `number` | `table` | `boolean` - Checks that `arr` contains this value. ---@param arr any[] ---@param fn? any ---@return boolean function Array.any(arr, fn) checkType('Module:Array.any', 1, arr, 'table') if fn == nil then fn = function(item) return item end end if type(fn) ~= 'function' then local val = fn fn = function(item) return item == val end end for i = 1, len(arr) do ---@diagnostic disable-next-line: redundant-parameter if fn(arr[i], i) then return true end end return false end ---Recursively removes all metatables. ---@param arr any[] ---@return any[] function Array.clean(arr) checkType('Module:Array.clean', 1, arr, 'table') for i = 1, len(arr) do if type(arr[i]) == 'table' then Array.clean(arr[i]) end end setmetatable(arr, nil) return arr end ---Make a copy of the input table. Preserves metatables. ---@generic T: any[] ---@param arr T ---@param deep? boolean # Recursively clone subtables if **true**. ---@return T function Array.clone(arr, deep) checkType('Module:Array.clone', 1, arr, 'table') checkType('Module:Array.clone', 2, deep, 'boolean', true) local res = {} for i = 1, len(arr) do if deep == true and type(arr[i]) == 'table' then res[i] = Array.clone(arr[i], true) else res[i] = arr[i] end end return setmetatable(res, getmetatable(arr)) end ---Check if `arr` contains `val`. ---@param arr any[] ---@param val any ---@return boolean function Array.contains(arr, val) checkType('Module:Array.contains', 1, arr, 'table') for i = 1, len(arr) do if arr[i] == val then return true end end return false end ---Check if `arr` contains any of the values in the table `t`. ---@param arr any[] ---@param t any[] ---@return boolean function Array.containsAny(arr, t) checkType('Module:Array.containsAny', 1, arr, 'table') checkType('Module:Array.containsAny', 2, t, 'table') local lookupTbl = {} for i = 1, len(t) do lookupTbl[t[i]] = true end for i = 1, len(arr) do if lookupTbl[arr[i]] then return true end end return false end ---Check if `arr` contains all values in the table `t`. ---@param arr any[] ---@param t any[] ---@return boolean function Array.containsAll(arr, t) checkType('Module:Array.containsAll', 1, arr, 'table') checkType('Module:Array.containsAll', 2, t, 'table') local lookupTbl = {} local trueCount = 0 local l = len(t) for i = 1, l do lookupTbl[t[i]] = false end for i = 1, len(arr) do if lookupTbl[arr[i]] == false then lookupTbl[arr[i]] = true trueCount = trueCount + 1 end if trueCount == l then return true end end return false end ---Convolute two number arrays. ---@generic T: number[] ---@param x T ---@param y T ---@return T function Array.convolve(x, y) checkType('Module:Array.convolve', 1, x, 'table') checkType('Module:Array.convolve', 2, y, 'table') local z = {} local xLen, yLen = len(x), len(y) for j = 1, (xLen + yLen - 1) do local sum = 0 for k = math.max(1, j - yLen + 1), math.min(xLen, j) do sum = sum + x[k] * y[j-k+1] end z[j] = sum end return setmetatable(z, getmetatable(x) or getmetatable(y)) end ---Remove **nil** values from `arr` while preserving order. ---@generic T: any[] ---@param arr T ---@return T function Array.condenseSparse(arr) checkType('Module:Array.condenseSparse', 1, arr, 'table') local keys = {} local res = {} local l = 0 for k in pairs(arr) do l = l + 1 keys[l] = k end table.sort(keys) for i = 1, l do res[i] = arr[keys[i]] end return setmetatable(res, getmetatable(arr)) end ---Behaviour depends on value of `val`: ---* `nil` - Counts the number of non **false** elements. ---* `fun(elem: any): boolean` - Count the number of times the function returned **true**. ---* `boolean` | `number` | `table` - Counts the number of times this value occurs in `arr`. ---@param arr any[] ---@param val? any ---@return integer function Array.count(arr, val) checkType('Module:Array.count', 1, arr, 'table') if val == nil then val = function(item) return item end end if type(val) ~= 'function' then local _val = val val = function(item) return item == _val end end local count = 0 for i = 1, len(arr) do if val(arr[i]) then count = count + 1 end end return count end ---Differentiate the array ---@generic T: number[] ---@param arr T ---@param order number? # Oder of the differentiation. Default is 1. ---@return T # Length is `#arr - order` function Array.diff(arr, order) checkType('Module:Array.diff', 1, arr, 'table') checkType('Module:Array.diff', 2, order, 'number', true) local res = {} for i = 1, len(arr) - 1 do res[i] = arr[i+1] - arr[i] end if order and order > 1 then return Array.diff(res, order - 1) end return setmetatable(res, getmetatable(arr)) end ---Loops over `arr` and passes each element as the first argument to `fn`. This function returns nothing. ---@param arr any[] ---@param fn fun(elem: any, i?: integer) function Array.each(arr, fn) checkType('Module:Array.each', 1, arr, 'table') checkType('Module:Array.each', 2, fn, 'function') for i = 1, len(arr) do fn(arr[i], i) end end ---Makes a copy of `arr` with only elements for which `fn` returned **true**. ---@generic T: any[] ---@param arr T ---@param fn fun(elem: any, i?: integer): boolean ---@return T function Array.filter(arr, fn) checkType('Module:Array.filter', 1, arr, 'table') checkType('Module:Array.filter', 2, fn, 'function') local r = {} local l = 0 for i = 1, len(arr) do if fn(arr[i], i) then l = l + 1 r[l] = arr[i] end end return setmetatable(r, getmetatable(arr)) end ---Find the first elements for which `fn` returns **true**. ---@param arr any[] ---@param fn any # A value to look for or a function of the form `fun(elem: any, i?: integer): boolean`. ---@param default? any # Value to return if no element passes the test. ---@return any? elem # The first element that passed the test. ---@return integer? i # The index of the item that passed the test. function Array.find(arr, fn, default) checkType('Module:Array.find', 1, arr, 'table') checkTypeMulti('Module:Array.find_index', 2, fn, {'function', 'table', 'number', 'boolean'}) if type(fn) ~= 'function' then local _val = fn fn = function(item) return item == _val end end for i = 1, len(arr) do ---@diagnostic disable-next-line: redundant-parameter if fn(arr[i], i) then return arr[i], i end end return default, nil end ---Find the index of `val`. ---@param arr any[] ---@param val any # A value to look for or a function of the form `fun(elem: any, i?: integer): boolean`. ---@param default? any # Value to return if no element passes the test. ---@return integer? function Array.find_index(arr, val, default) checkType('Module:Array.find_index', 1, arr, 'table') checkTypeMulti('Module:Array.find_index', 2, val, {'function', 'table', 'number', 'boolean'}) if type(val) ~= 'function' then local _val = val val = function(item) return item == _val end end for i = 1, len(arr) do ---@diagnostic disable-next-line: redundant-parameter if val(arr[i], i) then return i end end return default end ---Extracts a subset of `arr`. ---@generic T: any[] ---@param arr T ---@param indexes integer|integer[] # Indexes of the elements. ---@return T function Array.get(arr, indexes) checkType('Module:Array.set', 1, arr, 'table') checkTypeMulti('Module:Array.set', 2, indexes, {'table', 'number'}) if type(indexes) == 'number' then indexes = {indexes} end local res = {} for i = 1, len(indexes) do res[i] = arr[indexes[i]] end return setmetatable(res, getmetatable(arr)) end ---Integrates the array. Effectively does $\left\{\sum^{n}_{start}{arr[n]} \,\Bigg|\, n \in [start, stop]\right\}$. ---@generic T: number[] ---@param arr T # number[] ---@param start? integer # Index where to start the summation. Defaults to 1. ---@param stop? integer # Index where to stop the summation. Defaults to #arr. ---@return T function Array.int(arr, start, stop) checkType('Module:Array.int', 1, arr, 'table') checkType('Module:Array.int', 2, start, 'number', true) checkType('Module:Array.int', 3, stop, 'number', true) local res = {} start = start or 1 stop = stop or len(arr) res[1] = arr[start] for i = 1, stop - start do res[i+1] = res[i] + arr[start + i] end return setmetatable(res, getmetatable(arr)) end ---Returns an array with elements that are present in both tables. ---@generic T: any[] ---@param arr1 T ---@param arr2 T ---@return T function Array.intersect(arr1, arr2) checkType('Module:Array.intersect', 1, arr1, 'table') checkType('Module:Array.intersect', 2, arr2, 'table') local arr2Elements = {} local res = {} local l = 0 Array.each(arr2, function(item) arr2Elements[item] = true end) Array.each(arr1, function(item) if arr2Elements[item] then l = l + 1 res[l] = item end end) return setmetatable(res, getmetatable(arr1) or getmetatable(arr2)) end ---Checks if the two inputs have at least one element in common. ---@param arr1 any[] ---@param arr2 any[] ---@return boolean function Array.intersects(arr1, arr2) checkType('Module:Array.intersects', 1, arr1, 'table') checkType('Module:Array.intersects', 2, arr2, 'table') local small = {} local large if len(arr1) <= len(arr2) then Array.each(arr1, function(item) small[item] = true end) large = arr2 else Array.each(arr2, function(item) small[item] = true end) large = arr1 end return Array.any(large, function(item) return small[item] end) end ---Inserts values into `arr`. ---@generic T: any[] ---@param arr T ---@param val any # If `val` is an array and `unpackVal` is **true** then the individual elements of `val` are inserted. ---@param index? integer # Location to start the insertion. Default is at the end of `arr`. ---@param unpackVal? boolean # Default is **false**. ---@return T ---@overload fun(arr: T, val: any, unpackVal: boolean): T function Array.insert(arr, val, index, unpackVal) checkType('Module:Array.insert', 1, arr, 'table') checkTypeMulti('Module:Array.insert', 3, index, {'number', 'boolean', 'nil'}) checkType('Module:Array.insert', 4, unpackVal, 'boolean', true) if type(index) == 'boolean' then unpackVal, index = index, nil end local l = len(arr) index = index or (l + 1) local mt = getmetatable(arr) setmetatable(arr, nil) if unpackVal and type(val) == 'table' then local l2 = len(val) for i = 0, l - index do arr[l + l2 - i] = arr[l - i] end for i = 0, l2 - 1 do arr[index + i] = val[i + 1] end else table.insert(arr, index, val) end return setmetatable(arr, mt) end ---Returns the last element of `arr`. ---@param arr any[] ---@param offset? integer ---@return any function Array.last(arr, offset) checkType('Module:Array.last', 1, arr, 'table') checkType('Module:Array.last', 2, offset, 'number', true) return arr[len(arr) + offset] end ---Returns a new table were each element of `arr` is modified by `fn`. ---@generic T: any[] ---@param arr T ---@param fn fun(elem: any, i?: integer): any # First argument is the current element, the second argument is the index of the current element. ---@return T function Array.map(arr, fn) checkType('Module:Array.map', 1, arr, 'table') checkType('Module:Array.map', 2, fn, 'function') local l = 0 local r = {} for i = 1, len(arr) do local tmp = fn(arr[i], i) if tmp ~= nil then l = l + 1 r[l] = tmp end end return setmetatable(r, getmetatable(arr)) end ---Find the element for which `fn` returned the largest value. ---@param arr any[] ---@param fn fun(elem: any): any # The returned value needs to be comparable using the `<` operator. ---@return any elem # The element with the largest `fn` value. ---@return integer i # The index of this element. function Array.max_by(arr, fn) checkType('Module:Array.max_by', 1, arr, 'table') checkType('Module:Array.max_by', 2, fn, 'function') return unpack(Array.reduce(arr, function(new, old, i) local y = fn(new) return y > old[2] and {new, y, i} or old end, {nil, -math.huge})) end ---Find the largest value in the array. ---@param arr any[] # The values need to be comparable using the `<` operator. ---@return any elem ---@return integer i # The index of the largest value. function Array.max(arr) checkType('Module:Array.max', 1, arr, 'table') local val, _, i = Array.max_by(arr, function(x) return x end) return val, i end ---Find the smallest value in the array. ---@param arr any[] # The values need to be comparable using the `<` operator. ---@return any elem ---@return integer i # The index of the smallest value. function Array.min(arr) checkType('Module:Array.min', 1, arr, 'table') local val, _, i = Array.max_by(arr, function(x) return -x end) return val, i end ---Turn the input table into an Array. This makes it possible to use the colon `:` operator to access the Array methods. --- ---It also enables the use of math operators with the array. ---``` ---local x = arr.new{ 1, 2, 3 } ---local y = arr{ 4, 5, 6 } -- Alternative notation --- ---print( -x ) --> { -1, -2, -3 } ---print( x + 2 ) --> { 3, 4, 5 } ---print( x - 2 ) --> { -1, 0, 1 } ---print( x * 2 ) --> { 2, 4, 6 } ---print( x / 2 ) --> { 0.5, 1, 1.5 } ---print( x ^ 2 ) --> { 1, 4, 9 } --- ---print( x + y ) --> { 5, 7, 9 } ---print( x .. y ) --> { 1, 2, 3, 4, 5, 6 } ---print( (x .. y):reject{3, 4, 5} ) --> { 1, 2, 6 } ---print( x:sum() ) --> 6 --- ---print( x:update( {1, 3}, y:get{2, 3} * 2 ) ) --> { 10, 2, 12 } ---``` ---@param arr? any[] ---@return Array function Array.new(arr) local obj = arr or {} for _, v in pairs(obj) do if type(v) == 'table' then Array.new(v) end end if getmetatable(obj) == nil then setmetatable(obj, Array) end return obj end ---Creates an object that returns a value that is `step` higher than the previous value each time it gets called. --- ---The stored value can be read without incrementing by reading the `val` field. --- ---A new stored value can be set through the `val` field. --- ---A new step size can be set through the `step` field. ---``` ---local inc = arr.newIncrementor(10, 5) ---print( inc() ) --> 10 ---print( inc() ) --> 15 ---print( inc.val ) --> 15 ---inc.val = 100 ---inc.step = 20 ---print( inc.val ) --> 100 ---print( inc() ) --> 120 ---``` ---@param start? number # Default is 1. ---@param step? number # Default is 1. ---@return Incrementor function Array.newIncrementor(start, step) checkType('Module:Array.newIncrementor', 1, start, 'number', true) checkType('Module:Array.newIncrementor', 2, step, 'number', true) step = step or 1 local n = (start or 1) - step ---@class Incrementor local obj = {} return setmetatable(obj, { __call = function() n = n + step return n end, __tostring = function() return tostring(n) end, __index = function() return n end, __newindex = function(self, k, v) if k == 'step' and type(v) == 'number' then step = v elseif type(v) == 'number' then n = v end end, __concat = function(x, y) return tostring(x) .. tostring(y) end }) end ---Returns a range of numbers. ---@param start number # Start value inclusive. ---@param stop number # Stop value inclusive for integers, exclusive for floats. ---@param step? number # Default is 1. ---@return Array ---@overload fun(stop: number): Array function Array.range(start, stop, step) checkType('Module:Array.range', 1, start, 'number') checkType('Module:Array.range', 2, stop, 'number', true) checkType('Module:Array.range', 3, step, 'number', true) local arr = {} local len = 0 if not stop then stop = start start = 1 end for i = start, stop, step or 1 do len = len + 1 arr[len] = i end return setmetatable(arr, Array) end ---Condenses the array into a single value. --- ---For each element `fn` is called with the current element, the current accumulator, and the current element index. The returned value of `fn` becomes the accumulator for the next element. --- ---If no `accumulator` value is given at the start then the first element off `arr` becomes the accumulator and the iteration starts from the second element. ---``` ---local t = { 1, 2, 3, 4 } ---local sum = arr.reduce( t, function(elem, acc) return acc + elem end ) -- sum == 10 ---``` ---@param arr any[] ---@param fn fun(elem: any, acc: any, i?: integer): any # The result of this function becomes the `acc` for the next element. ---@param accumulator? any ---@return any # This is the last accumulator value. function Array.reduce(arr, fn, accumulator) checkType('Module:Array.reduce', 1, arr, 'table') checkType('Module:Array.reduce', 2, fn, 'function') local acc = accumulator local start = 1 if acc == nil then acc = arr[1] start = 2 end for i = start, len(arr) do acc = fn(arr[i], acc, i) end return acc end ---Make a copy off `arr` with certain values removed. --- ---Behaviour for different values of `val`: ---* `boolean` | `number` - Remove values equal to this. ---* `table` - Remove all values in this table. ---* `fun(elem: any, i?: integer): boolean` - Remove elements for which the functions returns **true**. ---@generic T: any[] ---@param arr T ---@param val table|function|number|boolean ---@return T function Array.reject(arr, val) checkType('Module:Array.reject', 1, arr, 'table') checkTypeMulti('Module:Array.reject', 2, val, {'function', 'table', 'number', 'boolean'}) if type(val) ~= 'function' and type(val) ~= 'table' then val = {val} end local r = {} local l = 0 if type(val) == 'function' then for i = 1, len(arr) do if not val(arr[i], i) then l = l + 1 r[l] = arr[i] end end else local rejectMap = {} Array.each(val --[[@as any[] ]], function(item) rejectMap[item] = true end) for i = 1, len(arr) do if not rejectMap[arr[i]] then l = l + 1 r[l] = arr[i] end end end return setmetatable(r, getmetatable(arr)) end ---Returns an Array with `val` repeated `n` times. ---@param val any ---@param n integer ---@return Array function Array.rep(val, n) checkType('Module:Array.rep', 2, n, 'number') local r = {} for i = 1, n do r[i] = val end return setmetatable(r, Array) end ---Condenses the array into a single value while saving every accumulator value. --- ---For each element `fn` is called with the current element, the current accumulator, and the current element index. The returned value of `fn` becomes the accumulator for the next element. --- ---If no `accumulator` value is given at the start then the first element off `arr` becomes the accumulator and the iteration starts from the second element. ---``` ---local t = { 1, 2, 3, 4 } ---local x = arr.scan( t, function(elem, acc) return acc + elem end ) -- x = { 1, 3, 6, 10 } ---``` ---@generic T: any[] ---@param arr T ---@param fn fun(elem: any, acc: any, i?: integer): any # Returned value becomes the accumulator for the next element. ---@param accumulator? any ---@return T function Array.scan(arr, fn, accumulator) checkType('Module:Array.scan', 1, arr, 'table') checkType('Module:Array.scan', 2, fn, 'function') local acc = accumulator local r = {} for i = 1, len(arr) do if i == 1 and not accumulator then acc = arr[i] else acc = fn(arr[i], acc, i) end r[i] = acc end return setmetatable(r, getmetatable(arr)) end ---Update a range of index with a range of values. --- ---If if only one value is given but multiple indexes than that value is set for all those indexes. --- ---If `values` is a table then it must of the same length as `indexes`. ---@generic T: any[] ---@param arr T ---@param indexes integer|integer[] ---@param values any|any[] ---@return T function Array.set(arr, indexes, values) checkType('Module:Array.set', 1, arr, 'table') checkTypeMulti('Module:Array.set', 2, indexes, {'table', 'number'}) local mt = getmetatable(arr) setmetatable(arr, nil) if type(indexes) == 'number' then indexes = {indexes} end if type(values) == 'table' then assert(len(indexes) == len(values), string.format("Module:Array.set: 'indexes' and 'values' arrays are not equal length (#indexes = %d, #values = %d)", len(indexes), len(values))) for i = 1, len(indexes) do arr[indexes[i]] = values[i] end else for i = 1, len(indexes) do arr[indexes[i]] = values end end return setmetatable(arr, mt) end ---Extract a subtable from `arr`. ---@generic T: any[] ---@param arr T ---@param start integer # Start index. Use negative values to count form the end of the array. ---@param stop integer # Stop index. Use negative values to count form the end of the array. ---@return T ---@overload fun(arr: T, stop: integer): T function Array.slice(arr, start, stop) checkType('Module:Array.slice', 1, arr, 'table') checkType('Module:Array.slice', 2, start, 'number', true) checkType('Module:Array.slice', 3, stop, 'number', true) start = start or len(arr) if start < 0 then start = len(arr) + start end if stop == nil then stop = start start = 1 end if stop < 0 then stop = len(arr) + stop end local r = {} local len = 0 for i = start, stop do len = len + 1 r[len] = arr[i] end return setmetatable(r, getmetatable(arr)) end ---Split `arr` into two arrays. ---@generic T: any[] ---@param arr T ---@param index integer # Index to split on. ---@return T x # [1, index] ---@return T y # [index + 1, #arr] function Array.split(arr, index) checkType('Module:Array.split', 1, arr, 'table') checkType('Module:Array.split', 2, index, 'number') local x = {} local y = {} for i = 1, len(arr) do table.insert(i <= index and x or y, arr[i]) end return setmetatable(x, getmetatable(arr)), setmetatable(y, getmetatable(arr)) end ---Returns the sum of all elements of `arr`. ---@param arr number[] ---@return number function Array.sum(arr) checkType('Module:Array.sum', 1, arr, 'table') local res = 0 for i = 1, len(arr) do res = res + arr[i] end return res end ---Extract a subtable from `arr`. ---@generic T: any[] ---@param arr T ---@param count integer # Length of the subtable. ---@param start? integer # Start index. Default is 1. ---@return T function Array.take(arr, count, start) checkType('Module:Array.take', 1, arr, 'table') checkType('Module:Array.take', 2, count, 'number') checkType('Module:Array.take', 3, start, 'number', true) local x = {} start = start or 1 for i = start, math.min(len(arr), count + start - 1) do table.insert(x, arr[i]) end return setmetatable(x, getmetatable(arr)) end ---Extract a subtable from `arr`. ---``` ---local t = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 } ---local x = arr.take_every( t, 2 ) --> x = { 1, 3, 5, 7, 9 } ---local x = arr.take_every( t, 2, 3 ) --> x = { 3, 5, 7, 9 } ---local x = arr.take_every( t, 2, 3, 2 ) --> x = { 3, 5 } --- ``` ---@generic T: any[] ---@param arr T ---@param n integer # Step size. ---@param start? integer # Start index. ---@param count? integer # Max amount of elements to get. ---@return T function Array.take_every(arr, n, start, count) checkType('Module:Array.take_every', 1, arr, 'table') checkType('Module:Array.take_every', 2, n, 'number') checkType('Module:Array.take_every', 3, start, 'number', true) checkType('Module:Array.take_every', 4, count, 'number', true) count = count or len(arr) start = start or 1 local stop = math.min(len(arr), start + n * (count - 1)) local r = {} local l = 0 for i = start, stop, n do l = l + 1 r[l] = arr[i] end return setmetatable(r, getmetatable(arr)) end ---Return a new table with all duplicates removed. ---@generic T: any[] ---@param arr T ---@param fn? fun(elem: any): any # Function to generate an id for each element. The result will then contain elements that generated unique ids. ---@return T function Array.unique(arr, fn) checkType('Module:Array.unique', 1, arr, 'table') checkType('Module:Array.unique', 2, fn, 'function', true) fn = fn or function(item) return item end local r = {} local l = 0 local hash = {} for i = 1, len(arr) do local id = fn(arr[i]) if not hash[id] then l = l + 1 r[l] = arr[i] hash[id] = true end end return setmetatable(r, getmetatable(arr)) end ---Combine elements with the same index from multiple arrays. ---``` ---local x = {1, 2, 3} ---local y = {4, 5, 6, 7} ---local z = arr.zip( x, y ) --> z = { { 1, 4 }, { 2, 5 }, { 3, 6 }, { 7 } } ---``` ---@param ... any[] ---@return Array function Array.zip(...) local arrs = { ... } checkType('Module:Array.zip', 1, arrs[1], 'table') local r = {} local _, longest = Array.max_by(arrs, function(arr) return len(arr) end) for i = 1, longest do local q = {} for j = 1, len(arrs) do table.insert(q, arrs[j][i]) end table.insert(r, setmetatable(q, Array)) end return setmetatable(r, Array) end -- Range indexing has a performance impact so this is placed in a separate subclass Array.RI_mt = {} for k, v in pairs(Array) do Array.RI_mt[k] = v end function Array.RI_mt.__index(t, k) if type(k) == 'table' then local res = {} for i = 1, len(k) do res[i] = t[k[i]] end return setmetatable(res, Array) else return Array[k] end end function Array.RI_mt.__newindex(t, k, v) if type(k) == 'table' then if type(v) == 'table' then for i = 1, len(k) do t[k[i]] = v[i] end else for i = 1, len(k) do t[k[i]] = v end end else rawset(t, k, v) end end ---Enable range indexing on the input array. --- ---This has a performance impact on reads and writes to the table. ---``` ---local t = arr{10, 11, 12, 13, 14, 15}:ri() ---print( t[{2, 3}] ) --> { 11, 12 } ---``` ---@param arr any[] ---@param recursive? boolean # Default is false. ---@return Array function Array.ri(arr, recursive) checkType('Module:Array.ri', 1, arr, 'table') checkType('Module:Array.ri', 2, recursive, 'boolean', true) arr = arr or {} if recursive then for _, v in pairs(arr) do if type(v) == 'table' then Array.ri(v, true) end end end if getmetatable(arr) == nil or getmetatable(arr) == Array then setmetatable(arr, Array.RI_mt) end return arr end ---Globally enable range indexing on all Array objects by default. ---@param set boolean function Array.allwaysAllowRangeIndexing(set) checkType('Module:Array.allwaysAllowRangeIndexing', 1, set, 'boolean') if set then Array.__index = Array.RI_mt.__index Array.__newindex = Array.RI_mt.__newindex else Array.__index = Array Array.__newindex = nil end end return Array 6c6b717b2bc0283d92329c8d11c5596294b7c864 Module:Array/doc 828 241 415 2024-03-22T17:52:10Z Habblet 11 Created page with "{{Documentation}} {{Helper module |name = Array |fname1 = <nowiki>all(&nbsp;arr, [fn]&nbsp;)</nowiki> |ftype1 = <samp>arr: any[]</samp><br><samp>fn?: any</samp><br><samp>-> boolean</samp> |fuse1 = Behaviour depends on the value of <code>fn</code>: * <code>nil</code> - Checks that the array doesn't contain any '''false''' elements. * <code>fun(elem: any, i?: integer): boolean</code> - Returns '''true''' if <code>fn</code> returns '''true''' for every element. * <code>nu..." wikitext text/x-wiki {{Documentation}} {{Helper module |name = Array |fname1 = <nowiki>all(&nbsp;arr, [fn]&nbsp;)</nowiki> |ftype1 = <samp>arr: any[]</samp><br><samp>fn?: any</samp><br><samp>-> boolean</samp> |fuse1 = Behaviour depends on the value of <code>fn</code>: * <code>nil</code> - Checks that the array doesn't contain any '''false''' elements. * <code>fun(elem: any, i?: integer): boolean</code> - Returns '''true''' if <code>fn</code> returns '''true''' for every element. * <code>number</code> {{!}} <code>table</code> {{!}} <code>boolean</code> - Checks that all elements in <code>arr</code> are equal to this value. |fname2 = <nowiki>any(&nbsp;arr, [fn]&nbsp;)</nowiki> |ftype2 = <samp>arr: any[]</samp><br><samp>fn?: any</samp><br><samp>-> boolean</samp> |fuse2 = Behaviour depends on the value of <code>fn</code>: * <code>nil</code> - Checks that the array contains at least one non '''false''' element. * <code>fun(elem: any, i?: integer): boolean</code> - Returns '''true''' if <code>fn</code> returns '''true''' for at least one element. * <code>number</code> {{!}} <code>table</code> {{!}} <code>boolean</code> - Checks that <code>arr</code> contains this value. |fname3 = <nowiki>clean(&nbsp;arr&nbsp;)</nowiki> |ftype3 = <samp>arr: any[]</samp><br><samp>-> any[]</samp> |fuse3 = Recursively removes all metatables. |fname4 = <nowiki>clone(&nbsp;arr, [deep]&nbsp;)</nowiki> |ftype4 = <samp>arr: any[]</samp><br><samp>deep?: boolean</samp><br><samp>-> any[]</samp> |fuse4 = Make a copy of the input table. Preserves metatables. |fname5 = <nowiki>contains(&nbsp;arr, val&nbsp;)</nowiki> |ftype5 = <samp>arr: any[]</samp><br><samp>val: any</samp><br><samp>-> boolean</samp> |fuse5 = Check if <code>arr</code> contains <code>val</code>. |fname6 = <nowiki>containsAny(&nbsp;arr, t&nbsp;)</nowiki> |ftype6 = <samp>arr: any[]</samp><br><samp>t: any[]</samp><br><samp>-> boolean</samp> |fuse6 = Check if <code>arr</code> contains any of the values in the table <code>t</code>. |fname7 = <nowiki>containsAll(&nbsp;arr, t&nbsp;)</nowiki> |ftype7 = <samp>arr: any[]</samp><br><samp>t: any[]</samp><br><samp>-> boolean</samp> |fuse7 = Check if <code>arr</code> contains all values in the table <code>t</code>. |fname8 = <nowiki>convolve(&nbsp;x, y&nbsp;)</nowiki> |ftype8 = <samp>x: number[]</samp><br><samp>y: number[]</samp><br><samp>-> number[]</samp> |fuse8 = Convolute two number arrays. |fname9 = <nowiki>condenseSparse(&nbsp;arr&nbsp;)</nowiki> |ftype9 = <samp>arr: any[]</samp><br><samp>-> any[]</samp> |fuse9 = Remove '''nil''' values from <code>arr</code> while preserving order. |fname10 = <nowiki>count(&nbsp;arr, fn&nbsp;)</nowiki> |ftype10 = <samp>arr: any[]</samp><br><samp>fn: any</samp><br><samp>-> integer</samp> |fuse10 = Behaviour depends on value of <code>val</code>: * <code>nil</code> - Counts the number of non '''false''' elements. * <code>fun(elem: any): boolean</code> - Count the number of times the function returned '''true'''. * <code>boolean</code> {{!}} <code>number</code> {{!}} <code>table</code> - Counts the number of times this value occurs in <code>arr</code>. |fname11 = <nowiki>diff(&nbsp;arr, [order|1]&nbsp;)</nowiki> |ftype11 = <samp>arr: number[]</samp><br><samp>order?: number</samp><br><samp>-> number[]</samp> |fuse11 = Differentiates <code>arr</code>. The length of the result is <code>#arr - order</code> long. |fname12 = <nowiki>each(&nbsp;arr, fn&nbsp;)</nowiki> |ftype12 = <samp>arr: any[]</samp><br><samp>fn: <code>fun(elem: any, i?: integer)</code></samp> |fuse12 = Loops over the array part of <code>arr</code> and passes each element as the first argument to <code>fn</code>. This function returns nothing. |fname13 = <nowiki>filter(&nbsp;arr, fn&nbsp;)</nowiki> |ftype13 = <samp>arr: any[]</samp><br><samp>fn: <code>fun(elem: any, i?: integer): boolean</code></samp><br><samp>-> any[]</samp> |fuse13 = Makes a copy of <code>arr</code> with only elements for which <code>fn</code> returned '''true'''. |fname14 = <nowiki>find(&nbsp;arr, fn, [default]&nbsp;)</nowiki> |ftype14 = <samp>arr: any[]</samp><br><samp>fn: any</samp><br><samp>default?: any</samp><br><samp>-> any?, integer?</samp> |fuse14 = Behaviour depends on the value of <code>fn</code>: * <code>fun(elem: any, i?: integer): boolean</code> - Find the first elements for which <code>fn</code> returns '''true'''. * <code>boolean</code> {{!}} <code>number</code> {{!}} <code>table</code> - Find the first occurance of this value. Returns two values: the element itself and its index. |fname15 = <nowiki>find_index(&nbsp;arr, fn, [default]&nbsp;)</nowiki> |ftype15 = <samp>arr: any[]</samp><br><samp>fn: any</samp><br><samp>default?: any</samp><br><samp>-> integer?</samp> |fuse15 = Behaviour depends on the value of <code>fn</code>: * <code>fun(elem: any, i?: integer): boolean</code> - Find the index of the first elements for which <code>fn</code> returns '''true'''. * <code>boolean</code> {{!}} <code>number</code> {{!}} <code>table</code> - Find the index of the first occurance of this value. |fname16 = <nowiki>get(&nbsp;arr, indexes&nbsp;)</nowiki> |ftype16 = <samp>arr: any[]</samp><br><samp>indexes: integer{{!}}integer[]</samp><br><samp>-> any[]</samp> |fuse16 = Extracts a subset of <code>arr</code>. |fname17 = <nowiki>int(&nbsp;arr, [start|1], [stop|#arr]&nbsp;)</nowiki> |ftype17 = <samp>arr: number[]</samp><br><samp>start?: number</samp><br><samp>stop?: number</samp><br><samp>-> number[]</samp> |fuse17 = Integrates <code>arr</code> from index <code>start</code> to <code>stop</code>. Effectively does <math>\left\{\sum^{n}_{start}{arr[n]} \,\Bigg|\, n \in [start, stop]\right\}</math>. |fname18 = <nowiki>intersect(&nbsp;arr1, arr2&nbsp;)</nowiki> |ftype18 = <samp>arr1: any[]</samp><br><samp>arr2: any[]</samp><br><samp>-> any[]</samp> |fuse18 = Returns an array with elements that are present in both tables. |fname19 = <nowiki>intersects(&nbsp;arr1, arr2&nbsp;)</nowiki> |ftype19 = <samp>arr1: any[]</samp><br><samp>arr2: any[]</samp><br><samp>-> boolean</samp> |fuse19 = Checks if the two inputs have at least one element in common. |fname20 = <nowiki>insert(&nbsp;arr, val, [index], [unpackVal]&nbsp;)</nowiki>;; <nowiki>insert(&nbsp;arr, val, [unpackVal]&nbsp;)</nowiki> |ftype20 = <samp>arr: any[]</samp><br><samp>val: any</samp><br><samp>index?: integer</samp><br><samp>unpackVal?: boolean</samp><br><samp>-> any[]</samp> |fuse20 = Inserts values into <code>arr</code>. If <code>val</code> is an array and <code>unpackVal</code> is '''true''' then the individual elements of <code>val</code> are inserted. <code>index</code> is the location to start the insertion. Default is at the end of <code>arr</code>. |fname21 = <nowiki>last(&nbsp;arr&nbsp;)</nowiki> |ftype21 = <samp>arr: any[]</samp><br><samp>-> any</samp> |fuse21 = Returns the last element of <code>arr</code>. |fname22 = <nowiki>len(&nbsp;arr&nbsp;)</nowiki> |ftype22 = <samp>arr: any[]</samp><br><samp>-> integer</samp> |fuse22 = Returns the length of the array but it also works on proxy arrays like mw.loadData or mw.loadJsonData. |fname23 = <nowiki>map(&nbsp;arr, fn&nbsp;)</nowiki> |ftype23 = <samp>arr: any[]</samp><br><samp>fn: <code>fun(elem: any, i?: integer): any</code></samp><br><samp>-> any[]</samp> |fuse23 = Returns a new table were each element of <code>arr</code> is modified by <code>fn</code>. |fname24 = <nowiki>max_by(&nbsp;arr, fn&nbsp;)</nowiki> |ftype24 = <samp>arr: any[]</samp><br><samp>fn: <code>fun(elem: any): any</code></samp><br><samp>-> any, integer</samp> |fuse24 = Find the element for which <code>fn</code> returned the largest value. The returned value of <code>fn</code> needs to be comparable using the <code><</code> operator. Returns three values: The element with the largest <code>fn</code> value, its <code>fn</code> result, and its index. |fname25 = <nowiki>max(&nbsp;arr&nbsp;)</nowiki> |ftype25 = <samp>arr: any[]</samp><br><samp>-> any, integer</samp> |fuse25 = Find the largest value in the array. The values need to be comparable using the <code><</code> operator. Returns two values: the element and its index. |fname26 = <nowiki>min(&nbsp;arr&nbsp;)</nowiki> |ftype26 = <samp>arr: any[]</samp><br><samp>-> any, integer</samp> |fuse26 = Find the smallest value in the array. The values need to be comparable using the <code><</code> operator. Returns two values: the element and its index. |fname27 = <nowiki>new(&nbsp;[arr|{}]&nbsp;)</nowiki> |ftype27 = <samp>arr?: any[]</samp><br><samp>-> any[]</samp> |fuse27 = Turn the input table into an Array. This makes it possible to use the colon <code>:</code> operator to access the Array methods. It also enables the use of math operators with the array. <syntaxhighlight lang='lua'> local x = arr.new{ 1, 2, 3 } local y = arr{ 4, 5, 6 } -- Alternative notation mw.logObject( -x ) --> { -1, -2, -3 } mw.logObject( x + 2 ) --> { 3, 4, 5 } mw.logObject( x - 2 ) --> { -1, 0, 1 } mw.logObject( x * 2 ) --> { 2, 4, 6 } mw.logObject( x / 2 ) --> { 0.5, 1, 1.5 } mw.logObject( x ^ 2 ) --> { 1, 4, 9 } mw.logObject( x + y ) --> { 5, 7, 9 } mw.logObject( x .. y ) --> { 1, 2, 3, 4, 5, 6 } mw.logObject( (x .. y):reject{3, 4, 5} ) --> { 1, 2, 6 } mw.logObject( x:sum() ) --> 6 mw.logObject( x:update( {1, 3}, y:get{2, 3} * 2 ) ) --> { 10, 2, 12 } </syntaxhighlight> |fname28 = <nowiki>newIncrementor(&nbsp;[start|1], [step|1]&nbsp;)</nowiki> |ftype28 = <samp>start?: number</samp><br><samp>step?: number</samp><br><samp>-> Incrementor</samp> |fuse28 = Returns a new incrementor function. Every time this incrementor function is called it returns a number <code>step</code> higher than the previous call. The current value can be obtained with <code>inc.n</code> or set <code>inc.n = number</code> where <code>inc</code> is an incrementor function. The step size can be changed with <code>inc.step = number</code>. |fname29 = <nowiki>range(&nbsp;stop&nbsp;)</nowiki>;; <nowiki>range(&nbsp;start, stop, [step|1]&nbsp;)</nowiki> |ftype29 = <samp>start: number</samp><br><samp>stop: number</samp><br><samp>step?: number</samp><br><samp>-> number[]</samp> |fuse29 = Returns a table containing a sequence of numbers from <code>start</code> to <code>stop</code> (both inclusive if ints, end-exclusive if floats) by <code>step</code>. <code>range(4)</code> produces <code>{1, 2, 3, 4}</code> (<code>start</code> defaults to <code>1</code>). <code>range(0, 4)</code> produces <code>{0, 1, 2, 3, 4}</code>. When <code>step</code> is given, it specifies the increment (or decrement). |fname30 = <nowiki>reduce(&nbsp;arr, fn, [accumulator|arr[1]]&nbsp;)</nowiki> |ftype30 = <samp>arr: any[]</samp><br><samp>fn: <code>fun(elem: any, acc: any, i?: integer): any</code></samp><br><samp>accumulator?: any</samp><br><samp>-> any</samp> |fuse30 = Condenses the array into a single value. For each element <code>fn</code> is called with the current element, the current accumulator, and the current element index. The returned value of <code>fn</code> becomes the accumulator for the next element. If no <code>accumulator</code> value is given at the start then the first element off <code>arr</code> becomes the accumulator and the iteration starts from the second element. <syntaxhighlight lang='lua'> local t = { 1, 2, 3, 4 } local sum = arr.reduce( t, function(elem, acc) return acc + elem end ) -- sum == 10 </syntaxhighlight> |fname31 = <nowiki>reject(&nbsp;arr, val&nbsp;)</nowiki> |ftype31 = <samp>arr: any[]</samp><br><samp>val: any</samp><br><samp>-> any[]</samp> |fuse31 = Make a copy off <code>arr</code> with certain values removed. Behaviour for different values of <code>val</code>: * <code>boolean</code> {{!}} <code>number</code> - Remove values equal to this. * <code>table</code> - Remove all values in this table. * <code>fun(elem: any, i?: integer): boolean</code> - Remove elements for which the functions returns '''true'''. |fname32 = <nowiki>rep(&nbsp;val, n&nbsp;)</nowiki> |ftype32 = <samp>val: any</samp><br><samp>n: number</samp><br><samp>-> any[]</samp> |fuse32 = Returns a table with <samp>n</samp> copies of <samp>val</samp>. |fname33 = <nowiki>scan(&nbsp;arr, fn, [accumulator|arr[1]]&nbsp;)</nowiki> |ftype33 = <samp>arr: any[]</samp><br><samp>fn: <code>fun(elem: any, acc: any, i?: integer): any</code></samp><br><samp>accumulator?: any</samp><br><samp>-> any[]</samp> |fuse33 = Condenses the array into a single value while saving every accumulator value. For each element <code>fn</code> is called with the current element, the current accumulator, and the current element index. The returned value of <code>fn</code> becomes the accumulator for the next element. If no <code>accumulator</code> value is given at the start then the first element off <code>arr</code> becomes the accumulator and the iteration starts from the second element. <syntaxhighlight lang='lua'> local t = { 1, 2, 3, 4 } local x = arr.scan( t, function(elem, acc) return acc + elem end ) -- x = { 1, 3, 6, 10 } </syntaxhighlight> |fname34 = <nowiki>set(&nbsp;arr, indexes, values&nbsp;)</nowiki> |ftype34 = <samp>arr: any[]</samp><br><samp>indexes: integer{{!}}integer[]</samp><br><samp>values: any{{!}}any[]</samp><br><samp>-> any[]</samp> |fuse34 = Update a range of index with a range of values. If if only one value is given but multiple indexes than that value is set for all those indexes. If <code>values</code> is a table then it must of the same length as <code>indexes</code>. |fname35 = <nowiki>slice(&nbsp;arr, [start|1], [stop|#arr]&nbsp;)</nowiki>;; <nowiki>slice(&nbsp;arr, stop&nbsp;)</nowiki> |ftype35 = <samp>arr: any[]</samp><br><samp>start?: number</samp><br><samp>stop?: number</samp><br><samp>-> any[]</samp> |fuse35 = Returns a table containing all the elements of <code>arr</code> between the <code>start</code> and <code>stop</code> indices. The <code>start</code> and <code>stop</code> indices are inclusive. If <code>start</code> or <code>stop</code> are negative values then they are referenced to the end of the table. |fname36 = <nowiki>split(&nbsp;arr, index&nbsp;)</nowiki> |ftype36 = <samp>arr: any[]</samp><br><samp>index: number</samp><br><samp>-> any[], any[]</samp> |fuse36 = Split <code>arr</code> into two arrays. Retuns two tables. The first contains elements from [1, index], and the second from [index + 1, #arr]. |fname37 = <nowiki>sum(&nbsp;arr&nbsp;)</nowiki> |ftype37 = <samp>arr: number[]</samp><br><samp>-> number</samp> |fuse37 = Returns the sum of all elements of <code>arr</code>. |fname38 = <nowiki>take(&nbsp;arr, count, [start|1]&nbsp;)</nowiki> |ftype38 = <samp>arr: any[]</samp><br><samp>count: number</samp><br><samp>start?: number</samp><br><samp>-> any[]</samp> |fuse38 = Extract a subtable from <code>arr</code> of <code>count</code> elements long starting from the <code>start</code> index. |fname39 = <nowiki>take_every(&nbsp;arr, n, [start|1], [count|#arr]&nbsp;)</nowiki> |ftype39 = <samp>arr: any[]</samp><br><samp>n: integer</samp><br><samp>start?: integer</samp><br><samp>count?: integer</samp><br><samp>-> any[]</samp> |fuse39 = Extract a subtable from <code>arr</code>. <syntaxhighlight lang='lua'> local t = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 } local x = arr.take_every( t, 2 ) --> x = { 1, 3, 5, 7, 9 } local x = arr.take_every( t, 2, 3 ) --> x = { 3, 5, 7, 9 } local x = arr.take_every( t, 2, 3, 2 ) --> x = { 3, 5 } </syntaxhighlight> |fname40 = <nowiki>unique(&nbsp;arr, [fn]&nbsp;)</nowiki> |ftype40 = <samp>arr: any[]</samp><br><samp>fn?: <code>fun(elem: any): any</code></samp><br><samp>-> any[]</samp> |fuse40 = Return a new table with all duplicates removed. <code>fn</code> is an optional function to generate an id for each element. The result will then contain elements that generated unique ids. The order of first occurance is preserved. |fname41 = <nowiki>zip(&nbsp;...&nbsp;)</nowiki> |ftype41 = <samp>...any[]</samp><br><samp>-> any[][]</samp> |fuse41 = Combine elements with the same index from multiple arrays. <syntaxhighlight lang='lua'> local x = {1, 2, 3} local y = {4, 5, 6, 7} local z = arr.zip( x, y ) --> z = { { 1, 4 }, { 2, 5 }, { 3, 6 }, { 7 } } </syntaxhighlight> |example = <syntaxhighlight lang='lua'> local arr = require( 'Module:Array' ) local x = arr{1, 2, 3, 4, 10} local y = arr{'a', 'b', 'b', 1} arr.any( x, function( item ) return item == 3 end ) --> true arr.all( y, function( item ) return type( item ) == 'string' end ) --> false arr.map( x, function( item ) return item * 2 end ) --> { 2, 4, 6, 8, 20 } arr.filter( y, function( item ) return type( item ) == 'string' end ) --> { "a", "b", "b" } arr.reject( y, function( item ) return type( item ) == 'string' end ) --> { 1 } arr.find( x, function( item ) return item > 5 end ) --> 10, 5 arr.find_index( y, function( item ) return type( item ) ~= 'string' end ) --> 4 arr.max_by( x, function( item ) return item * 2 end ) --> 10, 20, 5 arr.reduce( x, function( item, acc ) return acc + item*item end, 5 ) --> 135 arr.range( 10, 1, -3 ) --> { 10, 7, 4, 1 } arr.scan( x, function( item, acc ) return acc + item*item end, 5 ) --> { 6, 10, 19, 35, 135 } arr.slice( x, 2, 4 ) --> { 2, 3, 4 } arr.split( x, 2 ) --> { 1, 2 }, { 3, 4, 10 } arr.sum( x ) --> 20 arr.take( x, 2 ) --> { 1, 2 } arr.take_every( x, 2 ) --> { 1, 3, 10 } arr.unique( y ) --> { "a", "b", 1 } arr.zip( x, y, {20, 30} ) --> { { 1, "a", 20 }, { 2, "b", 30 }, { 3, "b" }, { 4, 1 }, { 10 } } arr.intersect( x, y ) --> { 1 } arr.intersects( x, y ) --> true arr.contains({ 1, 2, 3}, 3) --> true arr.diff( x ) --> { 1, 1, 1, 6 } arr.int( x ) --> { 1, 3, 6, 10, 20 } arr.insert( x, y, 3 ) --> { 1, 2, { "a", "b", "b", 1 }, 3, 4, 10 } inc = arr.newIncrementor( 10, 5 ) print( inc() ) --> 10 print( inc() ) --> 15 </syntaxhighlight> }} 2feff6727f046595823cbfec3fc3db8cdc240b06 Template:Helper module 10 242 416 2024-03-22T17:53:02Z Habblet 11 Created page with "<includeonly>{{#invoke:Helper module|main}}</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>{{#invoke:Helper module|main}}</includeonly><noinclude>{{/doc}}</noinclude> 84fd05633e45aef5102ba57245cce5f3b57a8715 Template:Helper module/doc 10 243 417 2024-03-22T17:53:20Z Habblet 11 Created page with "{{Documentation}} {{Invokes|Helper module}} Provides documentation for functions of modules that contain functions useful for other modules. This template should be part of a comment, and should be at the top of the source code, '''before''' any <nowiki><pre> or <nowiki></nowiki> tags. There is no limit to the number of functions this template can list. This template is called by [[Brighter Shores:Lua/Helper modules]] to help produce a dynamic table. <pre> {{Helper mod..." wikitext text/x-wiki {{Documentation}} {{Invokes|Helper module}} Provides documentation for functions of modules that contain functions useful for other modules. This template should be part of a comment, and should be at the top of the source code, '''before''' any <nowiki><pre> or <nowiki></nowiki> tags. There is no limit to the number of functions this template can list. This template is called by [[Brighter Shores:Lua/Helper modules]] to help produce a dynamic table. <pre> {{Helper module |name = Name of the module (no namespace prefix) |fname1 = Name of first function as it is called in modules |ftype1 = Argument types of parameters |fuse1 = Purpose of the function ... |fname# = Name of tenth function as it is called in modules |ftype# = Argument types of parameters |fuse# = Purpose of the function }} </pre> <includeonly>[[Category:DPL templates]][[Category:Formatting templates]]</includeonly> 937d8b13fcb82e38b8bdf5035b7d94f3d5dc1e15 Category:Lua-based templates 14 244 418 2024-03-22T17:54:01Z Habblet 11 Created page with "{{Categoryheader|templates|Lua|}} [[Category:Templates]]" wikitext text/x-wiki {{Categoryheader|templates|Lua|}} [[Category:Templates]] 8439b9ccf548b6a41703a9f67d612f532fa84a71 Category:DPL templates 14 245 419 2024-03-22T17:54:34Z Habblet 11 Created page with "This category contains templates which are designed solely for use with [http://semeb.com/dpldemo/DPL:Manual DynamicPageList]. They generally should not be directly used as a normal template, and often their WhatLinksHere page will show no transclusions. Please do not delete these templates without making sure that related DPL queries are fixed. This does not include templates which are just DPL calls - it is specifically templates which are used within DPL calls (and '..." wikitext text/x-wiki This category contains templates which are designed solely for use with [http://semeb.com/dpldemo/DPL:Manual DynamicPageList]. They generally should not be directly used as a normal template, and often their WhatLinksHere page will show no transclusions. Please do not delete these templates without making sure that related DPL queries are fixed. This does not include templates which are just DPL calls - it is specifically templates which are used within DPL calls (and ''only'' DPL calls). DPL calls are listed by [[Special:WhatLinksHere/Template:Extension DPL]]. [[Category:Templates]] b905cd79c489d768593b47fbdaf61374319b8c38 Category:Formatting templates 14 246 420 2024-03-22T17:54:46Z Habblet 11 Created page with " [[Category:Templates]]" wikitext text/x-wiki [[Category:Templates]] 828033bdf4f6c2734bb067684732cbea33e9cbc4 Template:Main Page/Header 10 45 421 95 2024-03-22T17:55:52Z Jayden 3 wikitext text/x-wiki <div class="mainpage-header"> <div class="header-intro"> <h1>Welcome to the Brighter Shores Wiki</h1> <p>We are the wiki for ''[[Brighter Shores]]'', an upcoming medieval MMORPG developed by [[Andrew Gower]], featuring hundreds of hours of gameplay.</p> </div> <div class="header-stats plainlist nomobile"> <ul> <li>Number of articles: '''{{NUMBEROFARTICLES}}'''</li> <li>Number of files: '''{{NUMBEROFFILES}}'''</li> <li>Number of active users: '''{{NUMBEROFACTIVEUSERS}}'''</li> <li>Number of edits: '''{{NUMBEROFEDITS}}'''</li> </ul> </div> </div> 0a47d7c953eb471a849707048952c99ed5a70125 Module:Helper module 828 247 422 2024-03-22T17:56:31Z Habblet 11 Created page with "-- Helps [[Brighter Shores:Lua/Helper modules]] format its table with dynamic documentation -- See [[Template:Helper module]] for documentation and usage require('Module:Mw.html extension') local p = {} function p.main(frame) local args = frame:getParent().args local function_list = {} -- Let there be no limit to number of parameters local i = 1 while args['fname'..i] do local funcname = args['fname'..i] or '' local functype = args['ftype'..i] or '' local fun..." Scribunto text/plain -- Helps [[Brighter Shores:Lua/Helper modules]] format its table with dynamic documentation -- See [[Template:Helper module]] for documentation and usage require('Module:Mw.html extension') local p = {} function p.main(frame) local args = frame:getParent().args local function_list = {} -- Let there be no limit to number of parameters local i = 1 while args['fname'..i] do local funcname = args['fname'..i] or '' local functype = args['ftype'..i] or '' local funcuse = args['fuse'..i] or '' function_list[i] = { fname = funcname, ftype = functype, fdesc = funcuse } i = i + 1 end local title = mw.title.getCurrentTitle() if title.namespace == 828 and (title.text == args.name or title.text == args.name..'/doc') then local t = mw.html.create('table') t :addClass('wikitable') :tr() :th('Function') :th('Type') :th('Use') :done() :node(p._main(args.name, function_list, nil, false)) local category = '' if not (title.isSubpage and title.subpageText == 'doc') then category = '[[Category:Helper modules]][[Category:Modules required by modules]]' end local reqby = '' if not (title.isSubpage and title.subpageText == 'doc') then local uri = mw.uri.canonicalUrl('Special:WhatLinksHere', 'target=Module:'..args.name..'&namespace=828') reqby = 'For a full list of modules using this helper <span class="plainlinks">[' .. tostring(uri) .. ' click here]</span>\n' end local example = '' if args.example then example = "'''Example:'''\n" .. args.example end return 'This module is a helper module to be used by other modules; it may not designed to be invoked directly. See [[Brighter Shores:Lua/Helper modules]] for a full list and more information.\n' .. reqby .. tostring(t) .. example .. category else return p._main(args.name, function_list, args.example or '', true) end end local function formatFuncNames(list) list = mw.text.split(list or '', ';;') local res = {} for _, v in ipairs(list) do v = mw.text.trim(v) table.insert(res, string.format("<code>%s</code>", v)) end return table.concat(res, '<br>') end function p._main(modn, func_list, example, showModuleName) local ret = mw.html.create('tr') ret :IF(showModuleName) :td{'[[Module:'..modn..'|'..modn..']]', attr={'rowspan', #func_list}} -- Name will group together with all functions once :END() :td(formatFuncNames(func_list[1].fname)) :td(func_list[1].ftype) :td(func_list[1].fdesc) for i = 2, #func_list do ret:tr() :td(formatFuncNames(func_list[i].fname)) :td(func_list[i].ftype) :td(func_list[i].fdesc) end return ret end return p 7f9726f506afcb57cb7ebe8e977c4cd582e7e262 Module:Helper module/doc 828 248 423 2024-03-22T17:56:50Z Habblet 11 Created page with "{{Documentation}} {{Invokes|Helper module}} Generates helper module information for use in documentation, which is automatically used by [[Brighter Shores:Lua/Helper modules]]. <includeonly>[[Category:Helper modules| ]]</includeonly>" wikitext text/x-wiki {{Documentation}} {{Invokes|Helper module}} Generates helper module information for use in documentation, which is automatically used by [[Brighter Shores:Lua/Helper modules]]. <includeonly>[[Category:Helper modules| ]]</includeonly> 9eeb3d05978241b9132f2bd5e88952a89f6fae34 Module:Yesno/doc 828 249 424 2024-03-22T17:58:04Z Habblet 11 Created page with "{{documentation}} {{Helper module|name=Yesno |fname1=(arg) |ftype1=Any value |fuse1=Reads arg for yes/no and returns the appropriate boolean or nil |fname2=(arg1,arg2) |ftype2=Any value, Any value |fuse2=Reads arg1 for yes/no and returns the appropriate boolean; returns arg2 if arg1 was not an applicable value }}" wikitext text/x-wiki {{documentation}} {{Helper module|name=Yesno |fname1=(arg) |ftype1=Any value |fuse1=Reads arg for yes/no and returns the appropriate boolean or nil |fname2=(arg1,arg2) |ftype2=Any value, Any value |fuse2=Reads arg1 for yes/no and returns the appropriate boolean; returns arg2 if arg1 was not an applicable value }} f5428e747469ffce689962d9e4ca1a7b6ec7404f Module:Paramtest/doc 828 250 425 2024-03-22T17:58:43Z Habblet 11 Created page with "{{documentation}} {{Helper module |name=Paramtest |fname1 = is_empty(arg) |ftype1 = String |fuse1 = Returns true if arg is not defined or contains only whitespace |fname2 = has_content(arg) |ftype2 = String |fuse2 = Returns true if arg exists and does not only contain whitespace |fname3 = default_to(arg1,arg2) |ftype3 = String, Any value |fuse3 = If arg1 exists and does not only contain whitespace, the function returns arg1, otherwise returns arg2 |fname4 = defaults{ {ar..." wikitext text/x-wiki {{documentation}} {{Helper module |name=Paramtest |fname1 = is_empty(arg) |ftype1 = String |fuse1 = Returns true if arg is not defined or contains only whitespace |fname2 = has_content(arg) |ftype2 = String |fuse2 = Returns true if arg exists and does not only contain whitespace |fname3 = default_to(arg1,arg2) |ftype3 = String, Any value |fuse3 = If arg1 exists and does not only contain whitespace, the function returns arg1, otherwise returns arg2 |fname4 = defaults{ {arg1,arg2},...} |ftype4 = {String, Any value}... |fuse4 = Does the same as <code>default_to()</code> run over every table passed; for technical reasons, all <code>nil</code> are replaced with <code>false</code> }} 7baa87ce9b7319f8fb79463bd850ef9ce84d046d Module:DPLlua 828 251 426 2024-03-22T17:59:09Z Habblet 11 Created page with "-- <nowiki> local dpl = {} local libraryUtil = require( 'libraryUtil' ) local hasContent = require( 'Module:Paramtest' ).has_content local checkType = libraryUtil.checkType local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg dpl.pipe = '¦' local dataContentMarker = '`#@@#`' local allIncludedParamNames = {} -- Custom function for splitting a string because mw.text.split() is waaay too slow local function split( str, pattern, plain ) local res = {} local con..." Scribunto text/plain -- <nowiki> local dpl = {} local libraryUtil = require( 'libraryUtil' ) local hasContent = require( 'Module:Paramtest' ).has_content local checkType = libraryUtil.checkType local checkTypeForNamedArg = libraryUtil.checkTypeForNamedArg dpl.pipe = '¦' local dataContentMarker = '`#@@#`' local allIncludedParamNames = {} -- Custom function for splitting a string because mw.text.split() is waaay too slow local function split( str, pattern, plain ) local res = {} local continue = true local startIndex = 1 while continue do local i, j = string.find( str, pattern, startIndex, plain ) if i then table.insert( res, string.sub( str, startIndex, i-1 ) ) startIndex = j + 1 else table.insert( res, string.sub( str, startIndex ) ) continue = false end end return res end -- Also custom function for speed local function trim( str ) return (string.gsub( str, '^%s+', '' ):gsub( '%s+$', '' )) end local function mergeItem( tbl, key, item ) if type( tbl[key] ) == 'table' and type( item ) == 'table' then for k in pairs( tbl[key] ) do mergeItem( tbl[key], k, item[k] ) end elseif type( tbl[key] ) == 'table' then table.insert( tbl[key], item ) else tbl[key] = { tbl[key], item } end end local escapeChars = { ['{'] = '&#123;', ['}'] = '&#125;', ['['] = '&#91;', [']'] = '&#93;', ['|'] = '&#124;', ['-'] = '&#8208;' } local function escape( str ) return (string.gsub( str, '[{}%[%]|%-]', escapeChars )) end local unEscapeChars = { ['&#123;'] = '{', ['&#125;'] = '}', ['&#91;'] = '[', ['&#93;'] = ']', ['&#124;'] = '|', ['&#8208;'] = '-' } local function unEscape( str ) return (string.gsub( str, '&#%d+;', unEscapeChars )) end local function fixCurlyBrackets( str ) -- the \226\157\180\181 are used to match ❴ (U+2774) and ❵ (U+2775) wich are 3 bytes long (UTF-8) so -- we can't use them directly inside [] patterns. Ustring would fix this but it's way too slow. return (string.gsub( str, '\226\157[\180\181]', { ['❴'] = '{', ['❵'] = '}' } )) end local function removeFormattingSettings( query ) local toRemove = { 'mode', 'table', 'tablerow', 'tablesortcol', 'headingmode', 'headingcount', 'listattr', 'itemattr', 'hlistattr', 'hitemattr', 'userdateformat', 'shownamespace', 'escapelinks', 'titlemaxlength', 'replaceintitle', 'columns', 'rows', 'rowsize', 'rowcolformat', 'resultsheader', 'resultsfooter', 'oneresultheader', 'oneresultfooter', 'noresultsheader', 'suppresserrors', 'noresultsfooter', 'format', 'groupMultiTemplateResults' } for _, k in ipairs( toRemove ) do query[k] = nil end end local function formatInclude( query ) checkTypeForNamedArg( 'Module:DPLlua.ask', 'include', query, 'string' ) query = split( query, ',', true ) local includedParamNames = {} local sectionAttributes = {} for i = 1, #query do if query[i]:match( '%b{}' ) then -- Check if we are including a template local templateName, extra = query[i]:match( '{(.-)[¦|}](.*)' ) if hasContent( extra ) then local phantomTemplateName = extra:match( '^(.-)}' ) or extra:match( '^[./].+' ) local phantomTemplatePrefix = extra:match( '^(.-)}' ) and '' or templateName local params = extra:gsub( '^.-}', '' ):gsub( '^[./].+', '' ):gsub( ':%-', '' ) local sur = hasContent( phantomTemplateName ) and ('¦' .. phantomTemplatePrefix .. phantomTemplateName) or '' query[i] = string.format( '{%s%s}%s', templateName, sur, params ) if hasContent( phantomTemplateName ) then table.insert( includedParamNames, { name=phantomTemplatePrefix..phantomTemplateName, isTemplate=true, hasPhantomTemplate=true } ) table.insert( sectionAttributes, { hasPhantomTemplate=true } ) else for param in params:gmatch( ':([^:]*)' ) do param = trim( param ) table.insert( includedParamNames, { name=templateName, isTemplate=true, param=param } ) end table.insert( sectionAttributes, { hasPhantomTemplate=false } ) end else query[i] = string.format( '{%s¦DPLlua helper}', templateName ) -- Use a helper template to get all the parameters of our included template table.insert( includedParamNames, { name=templateName, isTemplate=true, includeAll=true } ) table.insert( sectionAttributes, { hasPhantomTemplate=false } ) end else table.insert( includedParamNames, { name=trim( query[i] ) } ) table.insert( sectionAttributes, { hasPhantomTemplate=false } ) end end return table.concat( query, ',' ), includedParamNames, sectionAttributes end local function formatDpl( query ) local queries = {} local count = query.count or 500 local offset = query.offset or 0 local usesInclude = false local includedParamNames = {} local sectionAttributes query.count = nil query.offset = nil -- Use table format so we can place dataContentMarkers around each included parameter. The secseparator -- is needed to add dataContentMarkers when a phantom template is used local dplStringInclude = [=[ {{#dpl: |noresultsheader=@@ |count=%s |offset=%s |%s |table=, |listseparators=,\n¦-\n¦[[%%PAGE%%¦]],, |tablerow=%s |secseparators=%s }}]=] -- Table format requires an include statement so we use format instead. -- This is also a lot faster than adding an empty include statement local dplStringNoInclude = [=[ {{#dpl: |noresultsheader=@@ |count=%s |offset=%s |%s |format=,¦-¦[[%%PAGE%%¦]],, }}]=] -- Auto generate more than one dpl if count > 500 -- The results of these are later combined for i = 1, math.ceil( count / 500 ) do local params = {} for k, v in pairs( query ) do if k == 'include' then v, includedParamNames, sectionAttributes = formatInclude( v ) usesInclude = true end if type( v ) == 'table' then for _, x in ipairs( v ) do table.insert( params, k .. '=' .. tostring( x ):gsub( '|', '¦' ) ) end else table.insert( params, k .. '=' .. tostring( v ):gsub( '|', '¦' ) ) end end if usesInclude then local secseparators = '' for _, v in ipairs( sectionAttributes ) do if v.hasPhantomTemplate then -- Phantom templates need this because they ignore tablerow formatting secseparators = secseparators .. '¶¦' .. dataContentMarker .. ',' .. dataContentMarker .. ',' else secseparators = secseparators .. '¶¦,,' end end table.insert( queries, string.format( dplStringInclude, count > 500 and 500 or count, offset, table.concat( params, '\n|' ), string.rep( dataContentMarker..'%%'..dataContentMarker..',', #includedParamNames ), secseparators ) ) else table.insert( queries, string.format( dplStringNoInclude, count > 500 and 500 or count, offset, table.concat( params, '\n|' ) ) ) end count = count - 500 offset = offset + 500 end table.insert( allIncludedParamNames, includedParamNames ) return table.concat( queries ) end local function toTable( query, groupMultiTemplateResults ) local includedParamNames = table.remove( allIncludedParamNames, 1 ) local usesInclude = #includedParamNames > 0 local res = {} query = query:gsub( '<p>Extension:DynamicPageList .-</p>', function(item) res.error = item; return '' end ) if query:find( '^@@' ) then -- @@ is used when no result is found return res end if usesInclude then query = query:gsub( dataContentMarker..'(.-)'..dataContentMarker, escape ) end query = trim( query ) query = split( query, '|-', true ) -- Results of the returned pages are separated by |- for _, v in ipairs( query ) do if hasContent( v ) and not v:find( '^@@' ) then v = trim( v ) local title = v:match( '^|%[%[(.-)|' ) local rawDataList = v:match( '^|.-|.-|(.*)' ) -- This is everything after the title if not usesInclude then if title and title ~= '' then table.insert( res, title ) end else -- When multiple includes are used (e.g. include={Template1},{Template2} or include={Template}:1:2) their results are separated by a pipe rawDataList = split( rawDataList, '|', true ) local cleanedDataList = {} for _incIndex, dataItem in ipairs( rawDataList ) do local incIndex = ((_incIndex - 1) % #includedParamNames) + 1 -- Needed in case the same template appears multiple times on the same page dataItem = unEscape( dataItem ) dataItem = trim( dataItem ) if includedParamNames[ incIndex ].isTemplate and includedParamNames[ incIndex ].includeAll then -- Check if we included a full template -- When we include an entire template we use the %ARGS% parameter supplied by dpl. -- However all | characters are repaced with §, e.g.: -- §namelessParam -- §param = text [[wowee§link text]] -- §param2 = text {{something§something else}} dataItem = dataItem:gsub( '\127\'"`UNIQ%-%-nowiki%-%x+%-QINU`"\'\127', function(item) return '<nowiki>' .. item .. '</nowiki>' end ) dataItem = mw.text.unstripNoWiki( dataItem ) -- Unstrip nowiki so we can clean their content dataItem = fixCurlyBrackets( dataItem ) -- When using the %ARGS% dpl parameter, curly brackets are replaced with ❴ (U+2774) and ❵ (U+2775) dataItem = dataItem:gsub( '%b{}', function(x) return x:gsub( '§', '|' ) end ) -- Restore pipe characters inside links and templates dataItem = dataItem:gsub( '%b[]', function(x) return x:gsub( '§', '|' ) end ) dataItem = dataItem:gsub( '<nowiki>(.-)</nowiki>', function(x) return mw.getCurrentFrame():extensionTag( 'nowiki', x ) end ) -- Restrip nowiki local _dataItem = {} if dataItem ~= '' then dataItem = split( dataItem:sub( 3 ), '§' ) -- The sub(3) removes the first § at the start. § is 2 bytes wide so start at index 3 for i, item in ipairs( dataItem ) do if item:find( '=' ) then -- Check if the parameter is named or unnamed local param, value = item:match( '^%s*(.-)%s*=%s*(.-)%s*$' ) _dataItem[ param ] = value else table.insert( _dataItem, trim( item ) ) end end end dataItem = _dataItem end local dataListIndex = groupMultiTemplateResults and 1 or math.ceil( _incIndex / #includedParamNames ) if includedParamNames[ incIndex ].isTemplate and not includedParamNames[ incIndex ].includeAll and not includedParamNames[ incIndex ].hasPhantomTemplate then -- This means there was an include in the form 'include = {template}:param' local templateName = includedParamNames[ incIndex ].name local paramName = includedParamNames[ incIndex ].param paramName = tonumber( paramName ) or paramName -- Keep as string if tonumber fails cleanedDataList[ dataListIndex ] = cleanedDataList[ dataListIndex ] or {} cleanedDataList[ dataListIndex ][ templateName ] = cleanedDataList[ dataListIndex ][ templateName ] or {} if groupMultiTemplateResults and _incIndex > #includedParamNames then mergeItem( cleanedDataList[ dataListIndex ][ templateName ], paramName, dataItem ) else cleanedDataList[ dataListIndex ][ templateName ][ paramName ] = dataItem end else local templateName = includedParamNames[ incIndex ].name cleanedDataList[ dataListIndex ] = cleanedDataList[ dataListIndex ] or {} if groupMultiTemplateResults and _incIndex > #includedParamNames then mergeItem( cleanedDataList[ dataListIndex ], templateName, dataItem ) else cleanedDataList[ dataListIndex ][ templateName ] = dataItem end end end if title and title ~= '' then for _, v in ipairs( cleanedDataList ) do table.insert( res, { title=title, include=v } ) end end end end end return res end -- Accepts a series of tables each containig the settings for a dpl query. -- Combinig multiple dpl queries yields better performance than doing them sequentially function dpl.ask( ... ) local formatTime = os.clock() local queries = { ... } local wantsGrouping = {} for i = 1, #queries do checkType( 'Module:DPLlua.ask', i, queries[i], 'table' ) table.insert( wantsGrouping, queries[i].groupMultiTemplateResults or false ) removeFormattingSettings( queries[i] ) queries[i] = formatDpl( queries[i] ) end formatTime = os.clock() - formatTime local DPLtime = os.clock() queries = table.concat( queries, '$@µ@$' ) queries = mw.getCurrentFrame():preprocess( queries ) queries = split( queries, '$@µ@$', true ) DPLtime = os.clock() - DPLtime for i = 1, #queries do local parseTime = os.clock() queries[i] = toTable( queries[i], wantsGrouping[i] ) parseTime = os.clock() - parseTime queries[i]['DPL time'] = DPLtime queries[i]['Parse time'] = math.floor( (formatTime + parseTime) * 1e5 ) / 1e5 -- os.clock() has a resolution of 10µs end return unpack( queries ) end -- function dpl.test() -- local time = os.clock() -- local a, b = dpl.ask({ -- namespace = 'Module', -- linksto = 'Module:Chart data', -- distinct = 'strict', -- ordermethod = 'title', -- nottitlematch = '%/doc¦%sandbox%¦Exchange/%¦Exchange historical/%¦Chart data', -- ignorecase = 'true', -- allowcachedresults = false -- },{ -- namespace = 'Module', -- linksto = 'Module:Enum', -- distinct = 'strict', -- ordermethod = 'title', -- nottitlematch = '%/doc¦%sandbox%¦Exchange/%¦Exchange historical/%¦Enum', -- ignorecase = 'true', -- allowcachedresults = false -- }) -- mw.logObject(a) -- mw.logObject(b) -- local a, b = dpl.ask({ -- namespace = 'Module', -- linksto = 'Module:Chart data', -- distinct = 'strict', -- ordermethod = 'title', -- nottitlematch = '%/doc¦%sandbox%¦Exchange/%¦Exchange historical/%¦Chart data', -- ignorecase = 'true', -- allowcachedresults = false -- },{ -- namespace = '', -- ignorecase = 'true', -- uses = 'Template:Infobox Recipe', -- count = 50, -- include = '{Infobox Recipe},{Infobox Item}', -- allowcachedresults = false -- }) -- mw.logObject(a) -- mw.logObject(b) -- local a = dpl.ask{ -- namespace = '', -- uses = 'Template:Infobox Recipe', -- include = '{Infobox Recipe}:skill:name,{Infobox Item}:update,{Infobox Item|test}', -- count = 50, -- ordermethod = 'title', -- } -- mw.logObject(a) -- local q = dpl.ask{ -- uses = "Template:Collections table", -- category = "Archaeology collections", -- -- include = "{Infobox Collection}:reward,{Collections table}:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15", -- include = "{Infobox Collection}:reward,{Collections table}", -- count = 100 -- } -- mw.logObject(q) -- local q = dpl.ask{ -- namespace = "", -- uses = "Template:Infobox Spell", -- notcategory = {"Removed content", "Removed spells"}, -- nottitlematch = {"Enchant Crossbow Bolt", "Storm of Armadyl"}, -- include = "{Infobox Spell}", -- } -- mw.logObject(q) -- local list = dpl.ask{ -- namespace = 'Template', -- uses = 'Template:Navbox', -- ordermethod = 'title', -- include = '{Navbox}:gtitle1:gtitle2', -- count = 1, -- offset = 3 -- } -- mw.logObject(list) -- local list = dpl.ask{ -- namespace = 'User', -- titlematch = 'CephHunter/Sandbox/test1', -- include = '{User:CephHunter/Sandbox/test2|User:CephHunter/Sandbox/test3},{User:CephHunter/Sandbox/test3}:1', -- } -- mw.logObject(list) -- mw.logObject(dpl.ask{ -- namespace = 'User', -- ignorecase = 'true', -- titlematch = 'CephHunter/Sandbox/test1', -- include = '{User:CephHunter/Sandbox/test2}' -- }) -- mw.logObject(dpl.ask{ -- namespace = 'Module', -- uses = 'Template:Helper module', -- titlematch = '%/doc', -- nottitlematch = 'Exchange/%|Exchange historical/%|Sandbox/%', -- ordermethod = 'title', -- include = '{Helper module}, {Helper module}:example', -- count = 1, -- offset = 13 -- }) -- mw.logObject(dpl.ask{ -- namespace = 'Module', -- titlematch = 'Chart data|Absorbative calculator', -- nottitlematch = 'Exchange/%|Exchange historical/%|Sandbox/%|%/doc|DPLlua%', -- ordermethod = 'title', -- include = '%0' -- }) -- mw.logObject(dpl.ask{ -- uses = 'Template:Collections table', -- include = '{Collections table}', -- count = 5 -- }) -- mw.log(os.clock()-time) -- end return dpl -- </nowiki> c1eb27ec9ddfae569aca83492c4ac9ddd4bf5d33 Module:DPLlua/doc 828 253 428 2024-03-22T18:02:49Z Habblet 11 Created page with "{{Documentation}} Uses [[Template:DPLlua helper]] to make it possible to include all parameters of a template while maintaining good performance. {{Helper module|name=DPLlua |fname1 = ask(&nbsp;...&nbsp;) |ftype1 = tables |fuse1 = <code>ask</code> takes a series of tables each containing the settings for a DPL query; it will return the same number of result tables as input tables. All formatting settings are stripped from the config. If the config does not contains <co..." wikitext text/x-wiki {{Documentation}} Uses [[Template:DPLlua helper]] to make it possible to include all parameters of a template while maintaining good performance. {{Helper module|name=DPLlua |fname1 = ask(&nbsp;...&nbsp;) |ftype1 = tables |fuse1 = <code>ask</code> takes a series of tables each containing the settings for a DPL query; it will return the same number of result tables as input tables. All formatting settings are stripped from the config. If the config does not contains <code>include</code>, the result will be a simple list of page names. <pre> { <pagename#1>, <pagename#2>, <pagename#3>, } </pre> A query with an <code>include</code> of the form <code>include = '{template#1}:1:2:param1:param2, {template#2}:3:param1, %0'</code> will give a result like <pre> { ['include'] = { ['template#1'] = { [1] = val#1, [2] = val#2, ['param1'] = val#3, ['param2'] = val#4, }, ['template#2'] = { [3] = val#5, ['param1'] = val#6, }, ['%0'] = val#7 }, ['title'] = <pagename> } </pre> You can also do <code>include = '{some template}'</code> which will include all parameters of that template in their unexpanded form (templates are not expanded but some content in parser tags is placed in strip markers). If the config value <code>count</code> is larger than 500 it will automatically generate multiple DPL queries with offsets and their outputs will be combined in the returned result. The output contains a <code>time</code> field so you don't need to use <code>%DPLTIME%</code>. If the DPL throws an error it will be available in the <code>error</code> field of the output. Differences with normal DPL: * All formatting options are ignored * Surrogate templates (e.g. <code><nowiki>include = '{template|other template}'</nowiki></code> are ignored * Using <code>include = '{template}'</code> will include all the arguments of that template instead of expanding the template * The parameter <code>count</code> can go higher than 500 * When the value of a parameter is a table it will be expanded into multiple lines. E.g. doing <code>notcategory = {val#1, val#2}</code> will expand into <pre> |notcategory = val#1 |notcategory = val#2 </pre> Note of warning, if you include content containing <code>§</code> symbols the result may be unreliable. If you include a whole template (e.g. <code>include = '{some template}'</code>), content inside strip markers (not nowiki) can't be cleaned up inside lua so pipe characters (<code>&#124;</code>) will be replaced with <code>§</code> characters and the <code>{</code> and <code>}</code> characters are replaced by <code>&#10100;</code> (U+2774) and <code>&#10101;</code> (U+2775). Use <code>include = '{some template}, {some template}:1:2:3'</code> instead for the problem parameters. }} Example: <syntaxhighlight lang='lua'> local dpl = require( 'Module:DPLlua' ) local a, b = dpl.ask( { namespace = '', linksto = 'Miner', distinct = 'strict', ordermethod = 'title', count = 5, ignorecase = true },{ namespace = '', uses = 'Template:Reflist', count = 1, include = '{Reflist},{Infobox Item}', ignorecase = true } ) mw.logObject(a) mw.logObject(b) --[=[ table#1 { "(beginner)", "(easy)", "(elite)", "(g)", "(hard)", ["time"] = 0.0541, } table#1 { table#2 { ["include"] = table#3 { ["Infobox Item"] = table#4 { ["image"] = "[[File:Basic Bacon.png]]", ["name"] = "Basic Bacon", }, ["Reflist"] = table#5 { ["1"] = "2" }, }, ["title"] = "Basic Bacon", }, ["time"] = 0.0541, } ]=] </syntaxhighlight> 17240a96162b163ddea731332d45f1c78f8f83ac Module:Tooltip 828 254 429 2024-03-22T18:03:30Z Habblet 11 Created page with "local p = {} local yn = require('Module:Yesno') local hc = require('Module:Paramtest').has_content -- module access point for div p._div = function(args) local name = args.name if not hc(name) then error('Name is required!') end local content = args.content local hasarrow = yn(args.arrow or 'yes', true) local arrowsize = tonumber(args.arrowsize) or 10 local limitwidthbool = yn(args.limitwidth or 'yes', true) local style = args.style local div = mw.ht..." Scribunto text/plain local p = {} local yn = require('Module:Yesno') local hc = require('Module:Paramtest').has_content -- module access point for div p._div = function(args) local name = args.name if not hc(name) then error('Name is required!') end local content = args.content local hasarrow = yn(args.arrow or 'yes', true) local arrowsize = tonumber(args.arrowsize) or 10 local limitwidthbool = yn(args.limitwidth or 'yes', true) local style = args.style local div = mw.html.create('div') local arrow = 'no' if hasarrow then arrow = 'yes' end local limitwidth = 'no' if limitwidthbool then limitwidth = 'yes' end local attrs = { ['data-tooltip-for'] = name, ['data-tooltip-arrow'] = arrow, ['data-tooltip-arrow-size'] = arrowsize, ['data-tooltip-limit-width'] = limitwidth, } if hc(style) then attrs['data-tooltip-style'] = style end div :addClass('hidden js-tooltip-wrapper') :css('display', 'none') :attr(attrs) :tag('div') :addClass('js-tooltip-text') :wikitext(content) :done() :done() return div end p._span = function(args) local name = args.name or args[1] or nil if not hc(name) then error('Name is required!') end local alt = args.alt or args[2] or '?' local span = mw.html.create('span') span:addClass('hidden js-tooltip-click') :css('display', 'none') :attr('data-tooltip-name', name) :wikitext(alt) :done() return span end -- template access points p.div = function(frame) return p._div(frame:getParent().args) end p.span = function(frame) return p._span(frame:getParent().args) end return p 73956a8507d3a1110178263b174b19163ce9ac90 Module:Tooltip/doc 828 255 430 2024-03-22T18:03:37Z Habblet 11 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Template:DependencyList 10 256 431 2024-03-22T18:03:57Z Habblet 11 Created page with "<includeonly>{{#invoke:DependencyList|main}}</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>{{#invoke:DependencyList|main}}</includeonly><noinclude>{{/doc}}</noinclude> 923ee81c4d72af3821df33a5c39b6e427e2dd755 Template:DependencyList/doc 10 257 432 2024-03-22T18:04:22Z Habblet 11 Created page with "{{Documentation}} This template is meant to be used on module documentations. {{T|DependencyList|<Module name>|category=<true/false>}} All parameters are optional. If <code>Module name</code> is omitted the page name will be used instead; <code>/doc</code> is automatically removed. If <code>category</code> is <code>false</code> then no categories will be added to the page, the default value is <code>true</code>. ==Examples== {{T|DependencyList|Module:Infobox Item}}..." wikitext text/x-wiki {{Documentation}} This template is meant to be used on module documentations. {{T|DependencyList|<Module name>|category=<true/false>}} All parameters are optional. If <code>Module name</code> is omitted the page name will be used instead; <code>/doc</code> is automatically removed. If <code>category</code> is <code>false</code> then no categories will be added to the page, the default value is <code>true</code>. ==Examples== {{T|DependencyList|Module:Infobox Item}} {{DependencyList|Module:Infobox Item|category=false}} {{T|DependencyList|Module:Edit button}} {{DependencyList|Module:Edit button|category=false}} dfee0338031bbaf4885d50934771ce74bb48074d 441 432 2024-03-22T18:11:19Z Habblet 11 wikitext text/x-wiki {{Documentation}} This template is meant to be used on module documentations. {{T|DependencyList|<Module name>|category=<true/false>}} All parameters are optional. If <code>Module name</code> is omitted the page name will be used instead; <code>/doc</code> is automatically removed. If <code>category</code> is <code>false</code> then no categories will be added to the page, the default value is <code>true</code>. ==Examples== <!--{{T|DependencyList|Module:Infobox Item}} {{DependencyList|Module:Infobox Item|category=false}}--> {{T|DependencyList|Module:Edit button}} {{DependencyList|Module:Edit button|category=false}} a438c3671cba258cb75323b9661ab7c4bdba0847 MediaWiki:Gadget-tooltips.js 8 258 433 2024-03-22T18:06:18Z Habblet 11 Created page with "/* JavaScript tooltips usage: recommended usage: see [[Template:Tooltip]] and [[Template:Tooltip text]], or [[Module:Tooltip]] for module interface raw usage: Place this where you want the button to appear: <span class="hidden js-tooltip-click" style="display:none;" data-tooltip-name="test">clickable</span> place this elsewhere to define the content of the tooltip: <div class="hidden js-tooltip-wrapper" style="display:none;" data-tooltip-for="test" da..." javascript text/javascript /* JavaScript tooltips usage: recommended usage: see [[Template:Tooltip]] and [[Template:Tooltip text]], or [[Module:Tooltip]] for module interface raw usage: Place this where you want the button to appear: <span class="hidden js-tooltip-click" style="display:none;" data-tooltip-name="test">clickable</span> place this elsewhere to define the content of the tooltip: <div class="hidden js-tooltip-wrapper" style="display:none;" data-tooltip-for="test" data-tooltip-arrow="yes" data-tooltip-arrow-size="10" data-tooltip-style="custom style"><div class="js-tooltip-text">Content</div></div> span.js-tooltip-click - required attribute: data-tooltip-name - links to the corresponding divl; can have many with the same name content: the clickable thing, defaults to ? div.js-tooltip-wrapper - required attributes: data-tooltip-for - required; links this to spans with the data-tooltip-name equal to this data-tooltip-arrow - optional; yes for arrow, no/default for no arrow data-tooltip-arrow-size - optional; yes for arrow, no/default for no arrow data-tooltip-style - optional; the width of the arrow (height=2width) in px; also defines the gap between the tooltip and the span. defaults to 10 content: div.js-tooltip-text div.js-tooltip-text - required contains: text/html to display inside tooltip */ $(function () { if (!($('.js-tooltip-wrapper').length && $('.js-tooltip-click').length)) { return; } // every tooltip wrapper on the page considered separately // remove excess tooltip wrappers for the same name - can cause issues (function(){ var forarr = {}, forarrv, key, first; $('.js-tooltip-wrapper').each(function(){ forarr[$(this).attr('data-tooltip-for')] = true; }); for (key in forarr) { first = $('.js-tooltip-wrapper[data-tooltip-for="'+key+'"]').first(); $('.js-tooltip-wrapper[data-tooltip-for="'+key+'"]').not(first).remove(); } })(); $('.js-tooltip-wrapper').each(function () { var $span, $text, $arrow, $wrapper, $close, resizeEvent, hasArrow = true, arrpos, style, styles, parsed_styles, name, size, limitwidth = false, $currspan = $(null); // setup vars $wrapper = $(this); name = $wrapper.attr('data-tooltip-for'); if ($wrapper.attr('data-tooltip-arrow')) { hasArrow = $wrapper.attr('data-tooltip-arrow').toLowerCase() == 'yes'; } if ($wrapper.attr('data-tooltip-limit-width')) { limitwidth = $wrapper.attr('data-tooltip-limit-width').toLowerCase() == 'yes'; } style = $wrapper.attr('data-tooltip-style'); size = parseInt($wrapper.attr('data-tooltip-arrow-size'), 10); if (typeof size !== 'number' || isNaN(size)) { size = 10; } $text = $wrapper.find('.js-tooltip-text'); // setup wrapper css for movement $wrapper.removeClass('hidden') .on('js-tooltip-close', function () { $wrapper.hide(); $currspan.removeAttr('data-is-currspan'); $currspan = $(null); }); // setup span css $span = $('span.js-tooltip-click[data-tooltip-name="' + name + '"]'); $span.removeClass('hidden') .attr('title', 'Click for explanation, click again to close'); if ($span.html() === '') { $span.text('?'); } // setup arrow $arrow = $('<div>'); $arrow.addClass('js-tooltip-arrow') .css({ top: ($wrapper.outerHeight() * 0.3) + 'px', left: ('-' + (size+2) + 'px'), // width of arrow + width of text div border 'margin-top': ('-' + (size/2) + 'px'), 'border-width': size + 'px', //actual width of the arrow }); arrpos = '-' + (size+2) + 'px'; // easiest way to deal with arrow is to just not add it if it isn't specified if (hasArrow) { $wrapper.prepend($arrow); } // setup close button $close = $('<button>'); $close.html('<img src="/images/Close-x-white.svg?1ccac" />') .addClass('close js-tooltip-close') .click(function(){ $wrapper.trigger('js-tooltip-close'); }); $text.prepend($close); // setup resize event for repositioning tooltips resizeEvent = function () { if ($currspan.length === 0) { return; } var offset, position, width, $body, $mwtext; offset = $currspan.offset(); position = $currspan.position(); width = $currspan.outerWidth(); $body = $('body'); $mwtext = $('#mw-content-text'); $wrapper.css({ top: (offset.top - $wrapper.outerHeight()*0.3) + 'px', }); $arrow.css({ top: ($wrapper.outerHeight() * 0.3) + 'px', }); if ((!limitwidth && offset.left > 0.5 * $body.width()) || (limitwidth && position.left > 0.5 * $mwtext.width())) { $wrapper.css({ right: (($body.width() - offset.left) - 5 + size) + 'px', left: '', // remove other pos to prevent overspecification }); $arrow.removeClass('js-tooltip-arrow-pointleft').addClass('js-tooltip-arrow-pointright').css({ left: '', // remove other pos to prevent overspecification right: arrpos, 'border-left-width': size + 'px', 'border-right-width': 0, }); if (limitwidth) { $wrapper.css({ 'max-width': '500px', }); } } else { $wrapper.css({ left: (offset.left + width - 5 + size) + 'px', right: '', // remove other pos to prevent overspecification }); $arrow.removeClass('js-tooltip-arrow-pointright').addClass('js-tooltip-arrow-pointleft').css({ right: '', // remove other pos to prevent overspecification left: arrpos, 'border-right-width': size + 'px', 'border-left-width': 0, }); if (limitwidth) { $wrapper.css({ 'max-width': '500px', }); } } }; // attach resize event $(window).resize(resizeEvent); // attach click event to span $span.click(function (event) { //no bubbles event.preventDefault(); event.stopPropagation(); $this = $(event.currentTarget); if ($this.attr('data-is-currspan') == 'true') { // if the current span is clicked while the popup is open, close the popup $this.removeAttr('data-is-currspan'); $currspan = $(null); $wrapper.trigger('js-tooltip-close'); } else { // else move and show the currently open popup $currspan = $this; $('.js-tooltip-wrapper').not($wrapper).trigger('js-tooltip-close'); $this.attr('data-is-currspan', true); $wrapper.show(); resizeEvent(); } }); // add custom style if (typeof style === 'string' && style !== '') { styles = style.split(';'); styles_parsed = {}; styles.forEach(function(v) { if (typeof v === 'string') { var arr = v.split(':'); if (typeof arr[1] === 'string' && arr[1].trim() !== '') { styles_parsed[arr[0].trim()] = arr[1].trim(); } } }); $wrapper.css(styles_parsed); } // finish up $wrapper.hide(); $span.show(); $wrapper.appendTo($('body')); }); // close tooltip if clicked outside of $(document).click(function (event) { if ($('.js-tooltip-wrapper:visible').length && !$(event.target).closest('.js-tooltip-wrapper, .js-tooltip-click').length) { $('.js-tooltip-wrapper').trigger('js-tooltip-close'); } }); }) 5a22874ca58ef98b2354e7a6e8e21edfb584b41d MediaWiki:Gadgets-definition 8 6 434 10 2024-03-22T18:06:36Z BlackHawk 10 wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. <!--For scripts that are intended for use on a lot of pages, it may be a good idea to propose it on the [[Forum:Yew Grove|Yew Grove]] first. -->Gadgets which can be enabled/disabled by the user (on [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]]) should have a description created on ''Mediawiki:Gadget-gadgetname''. ==Core== * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js ==Tools== * ezcopy[ResourceLoader|type=general|targets=desktop]|ezcopy.js|ezcopy.css ==Other== * gadgetLinks[ResourceLoader|type=general|default]|gadgetLinks.js 87e10af480ff90447ebe2ccb86aa8cf27495985e 437 434 2024-03-22T18:07:58Z Habblet 11 wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. <!--For scripts that are intended for use on a lot of pages, it may be a good idea to propose it on the [[Forum:Yew Grove|Yew Grove]] first. -->Gadgets which can be enabled/disabled by the user (on [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]]) should have a description created on ''Mediawiki:Gadget-gadgetname''. ==Core== * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js * tooltips[ResourceLoader|type=general|default|hidden]|tooltips.js ==Tools== * ezcopy[ResourceLoader|type=general|targets=desktop]|ezcopy.js|ezcopy.css ==Other== * gadgetLinks[ResourceLoader|type=general|default]|gadgetLinks.js 194bf0c41dbbde2c37406831a625b74cd7e0be79 MediaWiki:Gadget-gadgetLinks 8 259 435 2024-03-22T18:07:01Z BlackHawk 10 Created page with "'''GadgetLinks''': Add links to relevant files in the list of [[MediaWiki:Gadgets-definition|gadget definitions]]." wikitext text/x-wiki '''GadgetLinks''': Add links to relevant files in the list of [[MediaWiki:Gadgets-definition|gadget definitions]]. 99c53e534f5ec3e8eec72d1497c2d9ea5e081e1f MediaWiki:Gadget-gadgetLinks.js 8 260 436 2024-03-22T18:07:20Z BlackHawk 10 Created page with "// Add gadget links to the gadgets that are being defined on [[MediaWiki:Gadgets-definition]] $(function() { function gadgetLink(page) { return '<a href="/w/MediaWiki:Gadget-'+page+'" title="MediaWiki:Gadget-'+page+'">'+page+'</a>'; } $('.page-MediaWiki_Gadgets-definition #bodyContent ul li').not('#toc li').each(function() { var txt = this.innerHTML; var links = txt.replace(/([a-zA-Z0-9-]+)(\[[^\]]+\]\|)(.*)/, function(match, name, options, filelist) {..." javascript text/javascript // Add gadget links to the gadgets that are being defined on [[MediaWiki:Gadgets-definition]] $(function() { function gadgetLink(page) { return '<a href="/w/MediaWiki:Gadget-'+page+'" title="MediaWiki:Gadget-'+page+'">'+page+'</a>'; } $('.page-MediaWiki_Gadgets-definition #bodyContent ul li').not('#toc li').each(function() { var txt = this.innerHTML; var links = txt.replace(/([a-zA-Z0-9-]+)(\[[^\]]+\]\|)(.*)/, function(match, name, options, filelist) { var files = filelist.split('|'); files = files.map(function(file) { return gadgetLink(file); }); return gadgetLink(name) + options + files.join('|'); }); $(this).html(links); }); }); 3567300269df4f90329975671e12cf471ca93bab Module:Mw.html extension 828 261 438 2024-03-22T18:09:55Z Habblet 11 Created page with "-- <nowiki> local p = {} local checkType = require( 'libraryUtil' ).checkType local mwHtml = getmetatable( mw.html.create() ).__index -- Trick to get acces to the mw.html class local stack = {} -- Used to keep track of nested IF-END tags local noOp = {} -- This object is returned by IF(false) tag function mwHtml:addClassIf( cond, class ) if cond then return self:addClass( class ) else return self end end function mwHtml:tagIf( cond, tagna..." Scribunto text/plain -- <nowiki> local p = {} local checkType = require( 'libraryUtil' ).checkType local mwHtml = getmetatable( mw.html.create() ).__index -- Trick to get acces to the mw.html class local stack = {} -- Used to keep track of nested IF-END tags local noOp = {} -- This object is returned by IF(false) tag function mwHtml:addClassIf( cond, class ) if cond then return self:addClass( class ) else return self end end function mwHtml:tagIf( cond, tagname ) if cond then return self:tag( tagname ) else return self end end function mwHtml:wikitextIf( cond, text ) if cond then return self:wikitext( text ) else return self end end function mwHtml:doneIf( cond ) if cond then return self:done() else return self end end function mwHtml:attrIf( cond, name, value ) if cond then return self:attr( name, value ) else return self end end function mwHtml:cssIf( cond, name, value ) if cond then return self:css( name, value ) else return self end end function mwHtml:na() return self:tag( 'td' ) :attr( 'data-sort-value', 0 ) :attr( 'class', 'table-na' ) :wikitext( '<small>N/A</small>' ) :done() end function mwHtml:naIf( cond ) if cond then return self:na() else return self end end local function addValues( self, settings ) -- wikitext and addClass are no-ops when their argument is nil self:wikitext( settings[1] or settings.wikitext ) self:addClass( settings.class or settings.addClass ) if settings.attr then if settings.attr[1] and settings.attr[2] then self:attr( settings.attr[1], settings.attr[2] ) else self:attr( settings.attr ) end end if settings.css then if settings.css[1] and settings.css[2] then self:css( settings.css[1], settings.css[2] ) else self:css( settings.css ) end end if settings.cssText then self:cssText( settings.cssText ) end end function mwHtml:tr( settings ) if self.tagName == 'tr' then self = self:done():tag( 'tr' ) elseif self.tagName == 'th' or self.tagName == 'td' then self = self:done():done():tag( 'tr' ) else self = self:tag( 'tr' ) end if type( settings ) == 'table' then addValues( self, settings ) end return self end function mwHtml:th( settings ) if self.tagName == 'th' or self.tagName == 'td' then self = self:done():tag( 'th' ) else self = self:tag( 'th' ) end if type( settings ) == 'table' then addValues( self, settings ) else self = self:wikitext( settings ) end return self end function mwHtml:td( settings ) if self.tagName == 'th' or self.tagName == 'td' then self = self:done():tag( 'td' ) else self = self:tag( 'td' ) end if type( settings ) == 'table' then addValues( self, settings ) else self = self:wikitext( settings ) end return self end function mwHtml:IF( cond ) if cond then table.insert( stack, { obj=noOp, trueCaseCompleted=true } ) return self else table.insert( stack, { obj=self, trueCaseCompleted=false } ) return noOp end end function mwHtml:ELSEIF( cond ) if #stack == 0 then error( 'Missing IF tag', 2 ) end local last = stack[#stack] if cond and not last.trueCaseCompleted then last.trueCaseCompleted = true local res = last.obj last.obj = noOp return res else if self ~= noOp then last.obj = self end return noOp end end function mwHtml:ELSE() return self:ELSEIF( true ) end function mwHtml:END() if #stack == 0 then error( 'Missing IF tag', 2 ) end local res = table.remove( stack ) -- Pop element from the end if res.obj == noOp then return self else return res.obj end end function mwHtml:exec( func, ... ) checkType( 'exec', 1, func, 'function' ) return func( self, ... ) end function p.addFunction( func, name ) checkType( 'addFunction', 1, func, 'function' ) checkType( 'addFunction', 2, name, 'string' ) if mwHtml[name] then error( 'Function "' .. name .. '" already exists', 2 ) end mwHtml[name] = func end noOp.IF = mwHtml.IF noOp.ELSEIF = mwHtml.ELSEIF noOp.ELSE = mwHtml.ELSE noOp.END = mwHtml.END setmetatable( noOp, { __index = function( self ) return self end, __call = function( self ) return self end, __tostring = function() error( 'Attempting to convert no-op object into a string. Check for unbalanced IF-END tags', 2 ) end, __concat = function() error( 'Attempting to concatenate a no-op object. Check for unbalanced IF-END tags', 2 ) end } ) return p -- </nowiki> 6a5718e23fe1609c3ae0c33ae9572c4d21a8a8ce Module:Mw.html extension/doc 828 262 439 2024-03-22T18:10:26Z Habblet 11 Created page with "{{Documentation}} {{Helper module |name = Mw.html extension |fname1 = addClassIf(cond, class) |ftype1 = boolean, string |fuse1 = If <code>cond</code> = <code>true</code> it behaves the same as the normal <code>addClass</code> function, otherwise it's a no-op. Ex.: <code>mw.html.create('div'):addClassIf(true, 'align-left-1')</code> |fname2 = attrIf(cond, name, value) |ftype2 = boolean, string/table, string/nil |fuse2 = Similar to <code>addClassIf</code> |fname3 = cssIf..." wikitext text/x-wiki {{Documentation}} {{Helper module |name = Mw.html extension |fname1 = addClassIf(cond, class) |ftype1 = boolean, string |fuse1 = If <code>cond</code> = <code>true</code> it behaves the same as the normal <code>addClass</code> function, otherwise it's a no-op. Ex.: <code>mw.html.create('div'):addClassIf(true, 'align-left-1')</code> |fname2 = attrIf(cond, name, value) |ftype2 = boolean, string/table, string/nil |fuse2 = Similar to <code>addClassIf</code> |fname3 = cssIf(cond, name, value) |ftype3 = boolean, string/table, string/nil |fuse3 = Similar to <code>addClassIf</code> |fname4 = doneIf(cond) |ftype4 = boolean |fuse4 = Similar to <code>addClassIf</code> |fname5 = tagIf(cond, tag) |ftype5 = boolean, string |fuse5 = Similar to <code>addClassIf</code> |fname6 = wikitextIf(cond, text) |ftype6 = boolean, string |fuse6 = Similar to <code>addClassIf</code> |fname7 = na() |ftype7 = N/A |fuse7 = Shortcut for <code><nowiki>:tag('td'):attr('data-sort-value', 0):attr('class','table-na'):wikitext('<small>N/A</small>'):done()</nowiki></code> |fname8 = naIf(cond) |ftype8 = boolean |fuse8 = Similar to <code>addClassIf</code> |fname9 = <nowiki>tr([settings])</nowiki> |ftype9 = table/nil |fuse9 = Shortcut for <code>:tag('tr')</code> but also auto closes the previous 'tr', 'th' or 'td' tag (so you don't need to add :done() before it). <samp>settings</samp> is a table with keys: * <code>class</code> or <code>addClass</code> - A string passed to <code>:addClass()</code> * <code>attr</code> - A table passed to <code>:attr()</code> * <code>css</code> - A table passed to <code>:css()</code> * <code>cssText</code> - A string passed to <code>:cssText()</code> |fname10 = <nowiki>th([settings])</nowiki> |ftype10 = string/table/nil |fuse10 = Shortcut for <code>:tag('th'):wikitext(settings)</code> if <samp>settings</samp> is a string. Also auto closes the previous 'th' or 'td' tag. <samp>settings</samp> can also be a table with keys: * <code>[1]</code> (array) or <code>wikitext</code> - A string passed to <code>:wikitext()</code> * <code>class</code> or <code>addClass</code> - A string passed to <code>:addClass()</code> * <code>attr</code> - A table passed to <code>:attr()</code> * <code>css</code> - A table passed to <code>:css()</code> * <code>cssText</code> - A string passed to <code>:cssText()</code> |fname11 = <nowiki>td([settings])</nowiki> |ftype11 = string/table/nil |fuse11 = Same as <code>:th()</code>. Example: <syntaxhighlight lang='lua'> local tbl = mw.html.create('table') tbl:tr{ class='sortable' } :th{'foo', attr={'data-sort-type', 'number'}} :th('bar') :tr() :td('buz') :attr('data-sort-value', 10) :td{'N/A', class='table-na'} </syntaxhighlight> |fname12 = IF(cond) |ftype12 = boolean |fuse12 = Allows for if-blocks without breaking the chain. If the condition is true it is a no-op, if false everything inside the balanced IF-END block will be ignored. Can be nested. Ex.: <syntaxhighlight lang="lua"> mw.html.create('div') :IF(true) :wikitext('Conditional text') :END() :... </syntaxhighlight> Note: This only prevents elements from being added to your html object, it does not protect against statements that throw errors. I.e <syntaxhighlight lang='lua'> mw.html.create('div') :IF(false) :wikitext(5 * nil) -- This will still throw an error :END() </syntaxhighlight> |fname13 = ELSEIF(cond) |ftype13 = boolean |fuse13 = Used together with <code>IF()</code>. |fname14 = ELSE() |ftype14 = N/A |fuse14 = Used together with <code>IF()</code>. |fname15 = END() |ftype15 = N/A |fuse15 = Used together with <code>IF()</code>. Make sure the IF-END tags are balanced, it wont throw an error if they are not. |fname16 = exec(func, ...) |ftype16 = function, any |fuse16 = Call a function without breaking the chain. See module docs for more info. |fname17 = addFunction(func, name) |ftype17 = function, string |fuse17 = Add a function to the mw.html class that can then be used on mw.html object. See module docs for more info. }} ==Usage== For all functions other than <code>addFunction()</code> all you need to do is simply require this module: <syntaxhighlight lang="lua"> require('Module:Mw.html extension') local p = {} function p.main() ... local tbl = mw.html.create('div') :IF(true) :wikitext('Conditional text') :ELSE() :wikitext('something else') :END() :addClassIf(true, 'wikitable') :tag('span)' :wikitext('normal wikitext') :done() ... end return p </syntaxhighlight> You can mix the normal old functions with the newly added ones. ===attrIf=== This accepts either a name-value pair or a table * <code>:attrIf(true, 'data-sort-value', '0')</code> * <code>:attrIf(true, {'data-sort-value' = '0', ...})</code> ===cssIf=== This accepts either a name-value pair or a table similar to <code>attrIf</code> ===exec=== The first parameter of the function will have the current state of the mw.html object passed into it, usually we call this parameter <code>self</code>, the rest of the parameters can be anything you want. To not break the chaining the function must also return a mw.html object. Example: <syntaxhighlight lang="lua"> local function repNa(self, times) for i = 1,times do self:na() end return self end </syntaxhighlight> This function can then be used as follows <syntaxhighlight lang="lua"> mw.html.create('div'):exec(repNa, 5) </syntaxhighlight> ===addFunction=== The function you want to add has to be of the same structure as in <code>exec()</code>. Example: <syntaxhighlight lang="lua"> local htmlExtension = require('Module:Mw.html extension') local p = {} local function repNa(self, times) for i = 1,times do self:na() end return self end htmlExtension.addFunction(repNa, 'repNaName') function p.main() ... local tbl = mw.html.create('div'):repNaName(5) ... end return p </syntaxhighlight> ===tr, th and td=== The following three tables are the same: <syntaxhighlight lang='lua'> local tbl = mw.html.create('table') tbl:tr{ class='sortable' } :th{'foo', attr={['data-sort-type']='number'}} -- or attr={'data-sort-type', 'number'} :th('bar') :IF(expression) :addClass('table-na') :END() :tr() :td('buz') :td{'N/A', class='table-na'} local tbl2 = mw.html.create('table') tbl2:tag('tr') :addClass('sortable') :tag('th') :attr('data-sort-type', 'number') :wikitext('foo') :done() :tag('th') :wikitext('bar') :IF(expression) :addClass('table-na') :END() :done() -- This is needed because "tag('tr')" is used after this instead of "tr()" :done() :tag('tr') :tag('td') :wikitext('buz') :done() :tag('td') :wikitext('N/A') :addClass('table-na') local tbl3 = mw.html.create('table') tbl3:tag('tr') :addClass('sortable') :tag('th') :attr('data-sort-type', 'number') :wikitext('foo') :th('bar') :IF(expression) :addClass('table-na') :END() :done() :done() :tag('tr') :td('buz') :td('N/A') :addClass('table-na') </syntaxhighlight> 2a5352272c4a2d57a20039fb10bdce801762a438 Category:Pages using DynamicPageList3 parser function 14 265 443 2024-03-22T18:12:13Z Habblet 11 Created page with "{{Categoryheader|pages|which use a DPL in its parser function form|yes|<nowiki>{{#dpl:}}</nowiki>|related=no}} For a list of pages which use DPL in its parser tag form (<nowiki><dpl></dpl></nowiki>), see [[:Category:Pages using DynamicPageList3 parser tag]] {{Hidden category}} [[Category:DPL tracking categories]]" wikitext text/x-wiki {{Categoryheader|pages|which use a DPL in its parser function form|yes|<nowiki>{{#dpl:}}</nowiki>|related=no}} For a list of pages which use DPL in its parser tag form (<nowiki><dpl></dpl></nowiki>), see [[:Category:Pages using DynamicPageList3 parser tag]] {{Hidden category}} [[Category:DPL tracking categories]] 8b34cdea2b49dcee7048104df73eaac60d306692 Category:Pages using DynamicPageList3 parser tag 14 266 444 2024-03-22T18:12:30Z Habblet 11 Created page with "{{Categoryheader|pages|which use a DPL in its parser tag form|yes|<nowiki><dpl></dpl></nowiki>|related=no}} For a list of pages which use DPL in its parser function form (<nowiki>{{#dpl:}}</nowiki>), see [[:Category:Pages using DynamicPageList3 parser function]] {{Hidden category}} [[Category:DPL tracking categories]]" wikitext text/x-wiki {{Categoryheader|pages|which use a DPL in its parser tag form|yes|<nowiki><dpl></dpl></nowiki>|related=no}} For a list of pages which use DPL in its parser function form (<nowiki>{{#dpl:}}</nowiki>), see [[:Category:Pages using DynamicPageList3 parser function]] {{Hidden category}} [[Category:DPL tracking categories]] 6ebe47fcb873135f3bc7cc4eb17366ad5b716bdb Category:DPL tracking categories 14 267 445 2024-03-22T18:12:45Z Habblet 11 Created page with "{{Categoryheader|categories|the [[mw:Extension:DynamicPageList3|DynamicPageList]] extension}} [[Category:Maintenance categories]]" wikitext text/x-wiki {{Categoryheader|categories|the [[mw:Extension:DynamicPageList3|DynamicPageList]] extension}} [[Category:Maintenance categories]] 9bff1a14ee911cc888ccec4bcf1d323b5269b0b1 Category:Template documentation 14 268 446 2024-03-22T18:13:13Z Habblet 11 Created page with "{{Categoryheader|templates|documentation subpages|yes|[[Template:Documentation]]}} [[Category:Templates| Documentation]]" wikitext text/x-wiki {{Categoryheader|templates|documentation subpages|yes|[[Template:Documentation]]}} [[Category:Templates| Documentation]] 7a4aca6d5ce2f17eec1e7995501dfcc9143e8752 Category:Permanently protected files 14 269 447 2024-03-22T18:13:54Z Habblet 11 Created page with "These files are permanently protected, mainly because they are used in many templates across the wiki or are used in MediaWiki pages. {{Categoryheader|images|files that are permanently protected|yes|{{t|Permanent protection}}}} {{Tracking category}} {{Hidden category}}" wikitext text/x-wiki These files are permanently protected, mainly because they are used in many templates across the wiki or are used in MediaWiki pages. {{Categoryheader|images|files that are permanently protected|yes|{{t|Permanent protection}}}} {{Tracking category}} {{Hidden category}} b98f96ab13e6d72b8863198414d0970d3ac0cb6d Template:Tracking category 10 270 448 2024-03-22T18:14:21Z Habblet 11 Created page with "This is a tracking category. It builds and maintains a list of pages primarily for the sake of the list itself and its use in article and category maintenance. Pages are added through {{#ifeq:{{{1|}}}||templates|{{T|{{{1}}}}}}} and should not be added manually.<includeonly>[[Category:Maintenance categories]]</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki This is a tracking category. It builds and maintains a list of pages primarily for the sake of the list itself and its use in article and category maintenance. Pages are added through {{#ifeq:{{{1|}}}||templates|{{T|{{{1}}}}}}} and should not be added manually.<includeonly>[[Category:Maintenance categories]]</includeonly><noinclude>{{/doc}}</noinclude> 97ef45b0eb8f2b9d5f2aab108c256690a5b80991 Template:Tracking category/doc 10 271 449 2024-03-22T18:14:33Z Habblet 11 Created page with "{{documentation}} This template marks a category as a tracking category. ==Usage== This template can be used by entering the following onto a category page. <pre>{{Tracking category}}</pre> A parameter may be provided which will be used by {{T|T}} to generate a link to the template that adds the category, rather than the generic text. <includeonly>[[Category:Maintenance templates|{{PAGENAME}}]]</includeonly>" wikitext text/x-wiki {{documentation}} This template marks a category as a tracking category. ==Usage== This template can be used by entering the following onto a category page. <pre>{{Tracking category}}</pre> A parameter may be provided which will be used by {{T|T}} to generate a link to the template that adds the category, rather than the generic text. <includeonly>[[Category:Maintenance templates|{{PAGENAME}}]]</includeonly> 8cab6eac3470dc842e689bf5dc00c294a59b0b4f File:PD-icon.svg 6 272 450 2024-03-22T18:15:51Z Habblet 11 {{PD}} Source: http://commons.wikimedia.org/wiki/Image:PD-icon.svg wikitext text/x-wiki == Summary == {{PD}} Source: http://commons.wikimedia.org/wiki/Image:PD-icon.svg 2349254ce6b16c90217b74999c35790500a99f06 Template:PD 10 273 451 2024-03-22T18:16:54Z Habblet 11 Created page with "{{MessageBox |class = info |img = [[File:PD-icon.svg|40px|centre|link=]] |1 = This file is in the public domain. |2 = This file has been released into the '''[[Wikipedia:Public domain|public domain]]''' by the [[meta:Meta:Copyrights|copyright]] holder, its copyright has expired, or it is ineligible for copyright. This applies worldwide. }}{{Fileonly|[[Category:Public domain files]]}}<noinclude>{{/doc}}[[Category:License templates]]</noinclude>" wikitext text/x-wiki {{MessageBox |class = info |img = [[File:PD-icon.svg|40px|centre|link=]] |1 = This file is in the public domain. |2 = This file has been released into the '''[[Wikipedia:Public domain|public domain]]''' by the [[meta:Meta:Copyrights|copyright]] holder, its copyright has expired, or it is ineligible for copyright. This applies worldwide. }}{{Fileonly|[[Category:Public domain files]]}}<noinclude>{{/doc}}[[Category:License templates]]</noinclude> 550e9534db3e68a9fb213c1b8b15b1270dd74ebd Template:PD/doc 10 274 452 2024-03-22T18:17:25Z Habblet 11 Created page with "{{Documentation}} This template displays a copyright notice that the image falls under [[Wikipedia:Public domain|public domain]]. ==Usage== This template can be used by entering the following onto a relevant image page. It will automatically add [[:Category:Public domain files]] to the page. {{t|PD}} <includeonly>[[Category:Copyright templates|{{PAGENAME}}]]</includeonly>" wikitext text/x-wiki {{Documentation}} This template displays a copyright notice that the image falls under [[Wikipedia:Public domain|public domain]]. ==Usage== This template can be used by entering the following onto a relevant image page. It will automatically add [[:Category:Public domain files]] to the page. {{t|PD}} <includeonly>[[Category:Copyright templates|{{PAGENAME}}]]</includeonly> b0554310c67beccd41e1ae05c6154b44b870ff9e File:Information icon-grey.svg 6 275 454 2024-03-22T18:18:21Z Habblet 11 {{GFDL}} [[Category:Brighter Shores Wiki images]] wikitext text/x-wiki == Summary == {{GFDL}} [[Category:Brighter Shores Wiki images]] 21d351ecd893ff52fe933b6a807ad2b01a79add0 Category:Brighter Shores Wiki images 14 276 455 2024-03-22T18:18:48Z Habblet 11 Created page with "{{Categoryheader|images|[[Brighter Shores Wiki]]||}} [[Category:Images]]" wikitext text/x-wiki {{Categoryheader|images|[[Brighter Shores Wiki]]||}} [[Category:Images]] 2c8327f6866defec794a20bf8f1208f7f61cb848 Category:Images 14 277 456 2024-03-22T18:19:12Z Habblet 11 Created page with "{{Categoryheader|subcategories|all images. Please '''do not''' add images to this category, but instead choose an appropriate sub-category||}} [[Category:Maintenance]]" wikitext text/x-wiki {{Categoryheader|subcategories|all images. Please '''do not''' add images to this category, but instead choose an appropriate sub-category||}} [[Category:Maintenance]] a5e807129b112709f00936c2142cb59aea3ccc93 File:Heckert GNU white.svg 6 278 457 2024-03-22T18:20:07Z Habblet 11 {{Permanent Protection}} An image of a Gnu. Taken from Wikimedia Commons ([http://commons.wikimedia.org/wiki/Image:Heckert_GNU_white.svg description page]). *Original author: Aurelio A. Heckert <aurium@gmail.com> ==License== {{Copyleft}} wikitext text/x-wiki == Summary == {{Permanent Protection}} An image of a Gnu. Taken from Wikimedia Commons ([http://commons.wikimedia.org/wiki/Image:Heckert_GNU_white.svg description page]). *Original author: Aurelio A. Heckert <aurium@gmail.com> ==License== {{Copyleft}} a7cee28305c93ffd7726b6fd731e9296c14b575b Template:GFDL 10 279 458 2024-03-22T18:20:21Z Habblet 11 Created page with "{{MessageBox |class = info |img = [[File:Heckert GNU white.svg|48px|centre|link=]] |1 = This file is licensed under the GFDL. |2 = Permission is granted to copy, distribute and/or modify this document under the terms of the '''[[Wikipedia:Wikipedia:Text of the GNU Free Documentation License|GNU Free Documentation License]]''', Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Te..." wikitext text/x-wiki {{MessageBox |class = info |img = [[File:Heckert GNU white.svg|48px|centre|link=]] |1 = This file is licensed under the GFDL. |2 = Permission is granted to copy, distribute and/or modify this document under the terms of the '''[[Wikipedia:Wikipedia:Text of the GNU Free Documentation License|GNU Free Documentation License]]''', Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. }}{{Fileonly|[[Category:GFDL images]]}}<noinclude>{{/doc}}[[Category:License templates]]</noinclude> 0749a76edfc0614283f8f7c0612cb5a4941130eb Template:GFDL/doc 10 280 459 2024-03-22T18:20:28Z Habblet 11 Created page with "{{documentation}} This template displays a notice that an image is copyrighted under [[Wikipedia:Wikipedia:Text of the GNU Free Documentation License|GNU Free Documentation License]]. ==Usage== This template can be used by entering the following onto a relevant image. This template will automatically add [[:Category:GFDL images]] to the page. {{t|GFDL}} <includeonly>[[Category:Copyright templates|{{PAGENAME}}]]</includeonly>" wikitext text/x-wiki {{documentation}} This template displays a notice that an image is copyrighted under [[Wikipedia:Wikipedia:Text of the GNU Free Documentation License|GNU Free Documentation License]]. ==Usage== This template can be used by entering the following onto a relevant image. This template will automatically add [[:Category:GFDL images]] to the page. {{t|GFDL}} <includeonly>[[Category:Copyright templates|{{PAGENAME}}]]</includeonly> 96123b079126907697c542f1be37c0f6449b0d19 Category:GFDL images 14 281 460 2024-03-22T18:20:44Z Habblet 11 Created page with "{{Categoryheader|images|the '''[[Wikipedia:GNU Free Documentation License|GNU Free Documentation License]]'''|yes|[[Template:GFDL]]}} [[Category:Licensed images]]" wikitext text/x-wiki {{Categoryheader|images|the '''[[Wikipedia:GNU Free Documentation License|GNU Free Documentation License]]'''|yes|[[Template:GFDL]]}} [[Category:Licensed images]] 8f5aa73462b6a7a474819ce997bb58eb4bbfc44e Category:Copyright templates 14 282 461 2024-03-22T18:21:10Z Habblet 11 Created page with "{{Categoryheader|templates|[[meta:Meta:Copyrights|copyrights]]||}} [[Category:Templates]]" wikitext text/x-wiki {{Categoryheader|templates|[[meta:Meta:Copyrights|copyrights]]||}} [[Category:Templates]] caffb6d16dc1c6dd241ee5be5b0e2735f5073a4b Category:License templates 14 283 462 2024-03-22T18:21:44Z Habblet 11 Created page with "{{Categoryheader|templates|adding a [[Brighter Shores:Licenses|license]] to files. All templates that add a license are listed in this category.}} [[Category:Templates]]" wikitext text/x-wiki {{Categoryheader|templates|adding a [[Brighter Shores:Licenses|license]] to files. All templates that add a license are listed in this category.}} [[Category:Templates]] 6b58d6ed795dea375b327a08c15357b3043dd5c3 File:GreenCopyleft.svg 6 284 464 2024-03-22T18:22:39Z Habblet 11 {{Permanent Protection}} The green copyleft symbol. Obtained from Wikimedia Commons. Released into the public domain by the author. ==License== {{PD}} wikitext text/x-wiki == Summary == {{Permanent Protection}} The green copyleft symbol. Obtained from Wikimedia Commons. Released into the public domain by the author. ==License== {{PD}} 47293a069177dca145eca783f1e2b5266321a29d Template:Copyleft 10 285 465 2024-03-22T18:22:44Z Habblet 11 Created page with "{| cellspacing="8" cellpadding="0" style="width:80%; clear:both; margin:0.5em auto; background-color:#f9f9f9; border:2px solid #e0e0e0;" |- |[[File:GreenCopyleft.svg|64px|Copyleft]] | style="text-align:center;" | ''Copyleft: this work of art is free, you can redistribute it and/or modify it according to terms of the Free Art License.<br/>You will find a specimen of this license on the site Copyleft Attitude https://artlibre.org/licence/lal/en/ as well as on other sites.'..." wikitext text/x-wiki {| cellspacing="8" cellpadding="0" style="width:80%; clear:both; margin:0.5em auto; background-color:#f9f9f9; border:2px solid #e0e0e0;" |- |[[File:GreenCopyleft.svg|64px|Copyleft]] | style="text-align:center;" | ''Copyleft: this work of art is free, you can redistribute it and/or modify it according to terms of the Free Art License.<br/>You will find a specimen of this license on the site Copyleft Attitude https://artlibre.org/licence/lal/en/ as well as on other sites.'' |}<noinclude>{{/doc}}</noinclude> 9abca6ff0b11f0fa96287bb4cdb6ebbce2cdfd2b Template:Copyleft/doc 10 286 466 2024-03-22T18:22:56Z Habblet 11 Created page with "{{Permanent Protection}} The green copyleft symbol. Obtained from Wikimedia Commons. Released into the public domain by the author. ==License== {{PD}}" wikitext text/x-wiki {{Permanent Protection}} The green copyleft symbol. Obtained from Wikimedia Commons. Released into the public domain by the author. ==License== {{PD}} 539de69c7b72cee14d23e1b75729028f89849717 Template:Fair use 10 287 467 2024-03-22T18:23:43Z Habblet 11 Created page with "{{MessageBox |class = info fairuse |img = [[File:Copyright.svg|40px|center|link=]] |1=This image, obtained outside of the ''Brighter Shores'' client, is classified as a [[Wikipedia:Free content|non-free image]]. |2=The image depicted here is subject to {{{owner|Fen Research}}}'s copyright and is displayed here under the conditions of {{Wp|Fair use}}.{{#if:{{{1|{{{link|}}}}}}|<br />Image source: [{{{1|{{{link|}}}}}} {{{1|{{{link|}}}}}}].|{{Fileonly|Category:Needs image..." wikitext text/x-wiki {{MessageBox |class = info fairuse |img = [[File:Copyright.svg|40px|center|link=]] |1=This image, obtained outside of the ''Brighter Shores'' client, is classified as a [[Wikipedia:Free content|non-free image]]. |2=The image depicted here is subject to {{{owner|Fen Research}}}'s copyright and is displayed here under the conditions of {{Wp|Fair use}}.{{#if:{{{1|{{{link|}}}}}}|<br />Image source: [{{{1|{{{link|}}}}}} {{{1|{{{link|}}}}}}].|{{Fileonly|[[Category:Needs image source]]}}}} }}{{Fileonly|[[Category:Non-free images]]}}<noinclude>{{/doc}}</noinclude> c34230649bf89d18004f4800ef0d3c03f150fa91 Template:Fair use/doc 10 288 468 2024-03-22T18:24:33Z Habblet 11 Created page with "{{documentation}} This template describes the {{wp|Fair use}} policy for images. It will automatically add [[:Category:Non-free images]] to the page. ==Usage== {{T|Fair use|link=<image source>|owner=<owner of copyright>}} ==Examples== {{T|Fair use}} {{Fair use}} <pre>{{Fair use|link=https://brightershores.com/20240318/logo.jpg}}</pre> {{Fair use|link=https://brightershores.com/20240318/logo.jpg}} ==Parameters== <templatedata> { "params": { "link": { "label":..." wikitext text/x-wiki {{documentation}} This template describes the {{wp|Fair use}} policy for images. It will automatically add [[:Category:Non-free images]] to the page. ==Usage== {{T|Fair use|link=<image source>|owner=<owner of copyright>}} ==Examples== {{T|Fair use}} {{Fair use}} <pre>{{Fair use|link=https://brightershores.com/20240318/logo.jpg}}</pre> {{Fair use|link=https://brightershores.com/20240318/logo.jpg}} ==Parameters== <templatedata> { "params": { "link": { "label": "Link", "description": "Link to image source.", "type": "url" }, "owner": { "label": "Owner", "description": "Owner of the copyright.", "type": "string", "default": "Fen Research" } }, "format": "inline", "paramOrder": [ "link", "owner" ] } </templatedata> <includeonly>[[Category:Image templates|{{PAGENAME}}]][[Category:Copyright templates|{{PAGENAME}}]]</includeonly> 3eae0e8a95dfd948e51e2da70a03a7398aec6807 Category:Non-free images 14 289 469 2024-03-22T18:24:59Z Habblet 11 Created page with "{{Categoryheader|images|'''[[wikipedia:Free content|Non-free images]]'''|yes|[[Template:Fair use]]}} [[Category:Licensed images]]" wikitext text/x-wiki {{Categoryheader|images|'''[[wikipedia:Free content|Non-free images]]'''|yes|[[Template:Fair use]]}} [[Category:Licensed images]] 352fbaa7bc861464ec57a9bb0ef5309a872e321a Category:Licensed images 14 290 470 2024-03-22T18:25:11Z Habblet 11 Created page with "{{Categoryheader|subcategories|the various licensed images||}} [[Category:Images]]" wikitext text/x-wiki {{Categoryheader|subcategories|the various licensed images||}} [[Category:Images]] 19937e2baee9b5898de76d7d0b6e04a3133ce36c MediaWiki:Clearyourcache 8 291 471 2024-03-22T18:33:01Z BlackHawk 10 Created page with "{{#ifeq:{{#sub:{{PAGENAME}}|0|7}}|Gadget-|<div id="contentSub"><span class="subpages">&lt; [[MediaWiki:Gadgets-definition|Gadgets-definition]]</span></div>}} After saving, you may need to bypass your browser's cache to see the changes. For further information, see {{Wp|Wikipedia:Bypass your cache}}. * In most '''Windows''' and '''Linux''' browsers: Hold down {{Key press|Ctrl}} and press {{Key press|F5}}. * In '''Safari''': Hold down {{Key press|⇧ Shift}} and click the..." wikitext text/x-wiki {{#ifeq:{{#sub:{{PAGENAME}}|0|7}}|Gadget-|<div id="contentSub"><span class="subpages">&lt; [[MediaWiki:Gadgets-definition|Gadgets-definition]]</span></div>}} After saving, you may need to bypass your browser's cache to see the changes. For further information, see {{Wp|Wikipedia:Bypass your cache}}. * In most '''Windows''' and '''Linux''' browsers: Hold down {{Key press|Ctrl}} and press {{Key press|F5}}. * In '''Safari''': Hold down {{Key press|⇧ Shift}} and click the '''Reload''' button. * In '''Chrome''' and '''Firefox for Mac''': Hold down both {{Key press|⌘ Cmd|⇧ Shift}} and press {{Key press|R}}. 12a9e4f562f725d50e2bf4c64029268c70a233f0 Template:Key press 10 292 472 2024-03-22T18:33:16Z BlackHawk 10 Created page with "{{#invoke:Key press|main}}<noinclude>{{/doc}}" wikitext text/x-wiki {{#invoke:Key press|main}}<noinclude>{{/doc}} d5830f79b574da3646475eb2d22e41465e6a3970 Template:Key press/doc 10 293 473 2024-03-22T18:33:26Z BlackHawk 10 Created page with "{{Documentation}} This template creates a keyboard layout for the input for the first parameter. ;Examples <pre> {{Key press|Ctrl}} </pre> {{Key press|Ctrl}} <pre> {{Key press|Ctrl|Alt|Del}} </pre> {{Key press|Ctrl|Alt|Del}} <pre> {{Key press|Ctrl|Alt|Del|sep=&}} </pre> {{Key press|Ctrl|Alt|Del|sep=&}} <includeonly>[[Category:Formatting templates]]</includeonly>" wikitext text/x-wiki {{Documentation}} This template creates a keyboard layout for the input for the first parameter. ;Examples <pre> {{Key press|Ctrl}} </pre> {{Key press|Ctrl}} <pre> {{Key press|Ctrl|Alt|Del}} </pre> {{Key press|Ctrl|Alt|Del}} <pre> {{Key press|Ctrl|Alt|Del|sep=&}} </pre> {{Key press|Ctrl|Alt|Del|sep=&}} <includeonly>[[Category:Formatting templates]]</includeonly> fd0343cfd8266193d67e40018ea54c8c4f34829d Module:Key press 828 294 474 2024-03-22T18:33:44Z BlackHawk 10 Created page with "-- <pre> local p = {} function p.main(frame) local args = frame:getParent().args local ret = mw.html.create('span') :css('white-space','nowrap') local sep = args.sep or '+' local keys = {} local tblsize = 0 for i, v in ipairs(args) do tblsize = i table.insert(keys,v) end for i, v in ipairs(keys) do ret :tag('kbd') :addClass('keypress') :wikitext(v) :done() if i < tblsize then ret:wikitext(sep) end end return tostring(ret) end..." Scribunto text/plain -- <pre> local p = {} function p.main(frame) local args = frame:getParent().args local ret = mw.html.create('span') :css('white-space','nowrap') local sep = args.sep or '+' local keys = {} local tblsize = 0 for i, v in ipairs(args) do tblsize = i table.insert(keys,v) end for i, v in ipairs(keys) do ret :tag('kbd') :addClass('keypress') :wikitext(v) :done() if i < tblsize then ret:wikitext(sep) end end return tostring(ret) end return p b85a527cac7bd93c0dc3643010783a31e5bd5add Module:Key press/doc 828 295 475 2024-03-22T18:34:05Z BlackHawk 10 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Category:Module documentation 14 296 476 2024-03-22T18:34:16Z BlackHawk 10 Created page with "Documentation subpages for lua modules. [[Category:Template documentation]][[Category:Lua-based templates]]" wikitext text/x-wiki Documentation subpages for lua modules. [[Category:Template documentation]][[Category:Lua-based templates]] cd2ff5662331ade934dcb848917046e3b28d222c MediaWiki:Common.less/templates.less 8 25 477 34 2024-03-22T18:38:51Z BlackHawk 10 less less /* ================== TEMPLATES ==================*/ :root { --keypress-background: @gallery; --keypress-border: @silver; --keypress-color: @mineshaft; } // Template:Key press .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: @border-radius; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } be0a71a8f6294b004f6e66721b0d24eb9377e8fc MediaWiki:Common.css 8 30 478 284 2024-03-22T18:39:08Z BlackHawk 10 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.75em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.75em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } d9c2c668a4d1ee1279952dc2477ca9e0f82a0a61 509 478 2024-03-22T18:57:19Z BlackHawk 10 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.75em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.75em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 68bd826e28dd58b4f6f763ed4e04054e43bf244c File:Brighter Shores key art.jpg 6 198 479 346 2024-03-22T18:39:20Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/capsule_616x353.jpg?t=1710753091}} ef94629c34e6578c2c00e6014a7d2b7853079dec File:Brighter Shores logo.png 6 297 480 2024-03-22T18:43:02Z Habblet 11 {{Fair use}} [[Category:Brighter Shores Wiki images]] [[Category:Logos]] wikitext text/x-wiki == Summary == {{Fair use}} [[Category:Brighter Shores Wiki images]] [[Category:Logos]] 960824af3fbb9eccb05e140a552dee7915b10ce5 Potion 0 298 481 2024-03-22T18:44:31Z Wolaznik 8 Created page with "'''Potions''' may be brewed through the [[Alchemist]] [[profession]]." wikitext text/x-wiki '''Potions''' may be brewed through the [[Alchemist]] [[profession]]. b88be6fb32911c12aedf3b4b4bcf6a695c6462ae Professions 0 56 482 212 2024-03-22T18:44:47Z Wolaznik 8 wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. ==List of professions== {| class="wikitable" ! Name !! Uses |- | [[Fisher]] || Catching various [[fish]] |- | [[Forager]] || Gathering items |- | [[Chef]] || Cooking [[food]] items |- | [[Woodcutter]] || Chopping down [[tree]]s |- | [[Miner]] || Mining [[mineral]]s |- | [[Alchemist]] || Brewing [[potion]]s |- | [[Stonemason]] || |- | [[Merchant]] || |- | [[Blacksmith]] || |} {{Professions}} bd3fcd8cff544a6268ffbba8008a1baddeadecf0 498 482 2024-03-22T18:51:08Z Wolaznik 8 Gallery of previews wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. ==List of professions== {| class="wikitable" ! Name !! Uses |- | [[Fisher]] || Catching various [[fish]] |- | [[Forager]] || Gathering items |- | [[Chef]] || Cooking [[food]] items |- | [[Woodcutter]] || Chopping down [[tree]]s |- | [[Miner]] || Mining [[mineral]]s |- | [[Alchemist]] || Brewing [[potion]]s |- | [[Stonemason]] || |- | [[Merchant]] || |- | [[Blacksmith]] || |} ==Gallery== <gallery> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> {{Professions}} 5c07add5ff89129c7c82abe6641f2c225db865d0 Mineral 0 299 483 2024-03-22T18:45:35Z Wolaznik 8 Created page with "'''Minerals''' can be mined through the [[Miner]] [[profession]]." wikitext text/x-wiki '''Minerals''' can be mined through the [[Miner]] [[profession]]. b43caa6209a79f21aa0503354684dc6b9aa6a48a MediaWiki:Vector.less 8 31 484 204 2024-03-22T18:45:52Z BlackHawk 10 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Vector.css]]. * * These styles will be applied to the Vector skin (desktop). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ @common: 'MediaWiki:Common.less'; @dir: 'MediaWiki:Vector.less'; // ===== Imports ===== @import '@{common}/mixins.less'; @import '@{common}/variables.less'; @import '@{dir}/elements.less'; // Vector interface files @import '@{dir}/vectormenu.less'; @import '@{dir}/vectorsearch.less'; @import '@{dir}/vectorsidebar.less'; @import '@{dir}/vectortabs.less'; // Image thumbnails @import '@{dir}/thumb.less'; // Table of Contents @import '@{dir}/toc.less'; // anything else that doesn't go into above files @import '@{dir}/interface.less'; // Editor interface @import '@{dir}/sourceeditor.less'; @import '@{dir}/editor.less'; // Templates @import '@{dir}/keypress.less'; @import '@{dir}/navbox.less'; // Misc @import '@{dir}/echo.less'; // ===== Miscellaneous ===== // moved from [[MediaWiki:Common.less/tabber.less]] // because it caused them to go off-screen on mobile .tabber { display: inline-grid; } 5da662eb404259877ed4c0778ea91ad06e571ad4 MediaWiki:Vector.less/keypress.less 8 300 485 2024-03-22T18:46:43Z BlackHawk 10 Created page with "// <pre> /* ============================= [[Template:Key press]] ============================= */ .keypress { background: @gallery; color: @mineshaft; font-family: monospace; text-shadow: 0 1px 0 @white; border: 1px solid @silver; .border-radius( 3px ); margin: 0 0.1em; padding: 0.1em 0.5em; line-height: 1.4; white-space: nowrap; display: inline-block; }" less less // <pre> /* ============================= [[Template:Key press]] ============================= */ .keypress { background: @gallery; color: @mineshaft; font-family: monospace; text-shadow: 0 1px 0 @white; border: 1px solid @silver; .border-radius( 3px ); margin: 0 0.1em; padding: 0.1em 0.5em; line-height: 1.4; white-space: nowrap; display: inline-block; } 52cbf83b836201600da862bd5959d65813902538 Tree 0 301 486 2024-03-22T18:46:43Z Wolaznik 8 Created page with "'''Trees''' can be chopped through the [[Woodcutter]] [[profession]]." wikitext text/x-wiki '''Trees''' can be chopped through the [[Woodcutter]] [[profession]]. e549f617577ef59cdf67fa65e92e4816f9c2f57e MediaWiki:Vector.css 8 43 487 205 2024-03-22T18:46:55Z BlackHawk 10 Updating CSS from [[MediaWiki:Vector.less]] css text/css /* <pre> */ :root { --ul-list-style-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='13'%3E%3Ccircle cx='2.5' cy='9' r='2.5' fill='%23000'/%3E%3C/svg%3E"); } html { -webkit-text-size-adjust: 100%; } body { background: var(--body-background-image) var(--body-background-color) top left / 1500px 375px no-repeat; font-family: 'Helvetica Neue', 'Arial', sans-serif; } .vector-body { font-size: 0.9em; } #firstHeading { font-weight: bold; } pre, code, .mw-code { color: inherit; background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } dl { margin: 0; } ul { list-style-image: var(--ul-list-style-image); } hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } fieldset { border-color: var(--sidebar); } .vector-body blockquote { border-color: var(--body-mid); } :root { --personal-links-bg: var(--body-main); --arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M11.05 3.996l-.965-1.053-4.035 3.86-3.947-3.86L1.05 3.996l5 5 5-5' fill='%23444'/%3E%3C/svg%3E"); } .vector-menu-dropdown .vector-menu-heading { background-color: var(--vector-tab-background); padding: 1em 0.75em 0.6923em; margin: 0; } .vector-menu-dropdown .vector-menu-heading, .vector-menu-dropdown .vector-menu-heading:hover, .vector-menu-dropdown .vector-menu-heading:focus { color: var(--background-text-color); } .vector-menu-dropdown .vector-menu-heading:after { background-image: var(--arrow-down); opacity: 1; } .vector-menu-dropdown .vector-menu-content { border-color: transparent; background-color: var(--body-light); box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.1); left: 0; } .vector-menu-dropdown .mw-list-item a { color: var(--link-color); } .vector-menu-dropdown .mw-list-item.selected a, .vector-menu-dropdown .mw-list-item.selected a:visited { color: var(--text-color); } #p-personal { background: var(--personal-links-bg); top: 0; right: 0; border-radius: 0 0 0 4px; height: 1.875em; } #p-personal ul { padding: 0 1em 0 0.4375em; } .vector-search-box-inner { background: var(--search-box); height: 2.5em; margin-top: 0; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } .vector-search-box-input { color: var(--text-color); height: 100%; border: none; background: none; padding-left: 0.75em; } .vector-search-box-input::placeholder { color: var(--text-color); opacity: 0.67; } .vector-search-box-inner:hover .vector-search-box-input, .vector-search-box-input:focus, .vector-search-box-inner:hover .vector-search-box-input:focus { border: none; box-shadow: none; } :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='13'%3E%3Cg fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M11.29 11.71l-4-4'/%3E%3Ccircle cx='5' cy='5' r='4'/%3E%3C/g%3E%3C/svg%3E"); } .searchButton[name='go'] { background: no-repeat center var(--searchbutton-icon); } .vector-search-box { margin: 0; } .vector-search-box form { margin-top: 0; } .suggestions-results { background-color: var(--body-light); border-color: var(--body-border); } .suggestions-result { color: var(--text-color); } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--text-color); } .suggestions-special { background-color: var(--body-light); border-color: var(--body-border); } .suggestions-special .special-label { color: var(--byline-color); } .suggestions-special .special-query { color: var(--text-color); } .suggestions-result-current { background-color: var(--body-mid); color: var(--text-color); } .suggestions-result-current .special-label, .suggestions-result-current .special-query { color: var(--text-color); } #mw-panel { padding-top: 2.5em; } .vector-menu-portal .vector-menu-heading { color: var(--background-text-color); font-weight: bold; background: none; } .vector-menu-portal .vector-menu-content li a, .vector-menu-portal .vector-menu-content li a:visited { color: var(--background-link-color); } #p-logo { filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.25)); margin: -1.5em 0 0; } #n-Discord a { color: #fff !important; font-weight: bold; border-radius: 4px; border: 1px solid #4c57d0; background-color: #5865f2; display: block; position: relative; padding: 4px 4px 5px calc(17px + 6.5px * 2); box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); transition: 0.2s; } #n-Discord a::before { content: 'Chat on '; font-weight: normal; opacity: 0.85; } #n-Discord a::after { content: ''; background: url('filepath://Discord_logo_icon.svg') no-repeat; background-size: 17px 13px; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1)); position: absolute; top: 5px; left: 7px; width: 17px; height: 13px; } #n-Discord a:hover { text-decoration: none; background-color: #525ee0; } .wgl-theme-dark #n-Discord a { background-color: #525ee0; } .wgl-theme-dark #n-Discord a:hover { background-color: #4c57d0; } :root { --vector-tab-background: #f0f0f0; --vector-tab-background--hover: var(--body-mid); --vector-tab-link-color: #937040; --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%2352351e' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); } .vector-menu-tabs-legacy { padding: 0; } .vector-menu-tabs-legacy .new a, .vector-menu-tabs-legacy .new a:visited { color: var(--redlink-color); } .vector-menu-tabs-legacy .selected { background: var(--body-main); } .vector-menu-tabs-legacy .selected a, .vector-menu-tabs-legacy .selected a:visited { color: var(--text-color); } .vector-menu-tabs-legacy li a { color: var(--vector-tab-link-color); padding: 0 0.75em; padding-top: 1em; } .vector-menu-tabs-legacy li a:visited { color: var(--vector-tab-link-color); } .vector-menu-tabs-legacy ul li { background: var(--vector-tab-background); } .vector-menu-tabs-legacy ul a:hover { text-decoration: none; } #ca-view { display: none !important; } .vector-menu-tabs ul li:not(.selected):hover, #p-cactions:hover #p-cactions-label { background: var(--vector-tab-background--hover); } .vector-menu-tabs ul li:not(.selected), #mw-head .vector-menu-dropdown .vector-menu-heading { box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } .ve-activated .vector-menu-tabs .selected { box-shadow: none; } .vector-menu-tabs #ca-watch.icon a:before, .vector-menu-tabs #ca-watch.icon a:hover:before, .vector-menu-tabs #ca-watch.icon a:focus:before { background-image: var(--watch-icon); } .vector-menu-tabs #ca-unwatch.icon a:before, .vector-menu-tabs #ca-unwatch.icon a:hover:before, .vector-menu-tabs #ca-unwatch.icon a:focus:before { background-image: var(--unwatch-icon); } div.thumbinner { border: none; background-color: var(--thumb-bg); padding: 0; } .thumbimage { background-color: transparent; border-color: transparent; border-bottom: none; } .thumbcaption { background: var(--thumb-caption-bg); padding: 4px 6px; } :root { --toc-bg: var(--body-light); --toc-title-bg: var(--body-dark); --toc-border-color: var(--body-border); --toc-list-border-color: var(--body-border); } .toc { font-size: 0.9em; background: var(--toc-bg); margin-top: 1em; padding: 0; border-color: var(--toc-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); clear: left; } .toc .toctitle { background: var(--toc-title-bg); padding: 0.25em 1em; } .toc .toctitle h2 { font-family: inherit; } .toc > ul { line-height: 1.8em; padding: 0.75em 1.75em; margin: 0; } .toc ul ul { border-left: 1px dotted var(--toc-list-border-color); padding-left: 0.5em; } .tocnumber { display: none; } .toctogglespan { padding-left: 0.2em; font-size: 0.9em; } .toctogglelabel { color: var(--link-color); } .toclimit-2 #toc .toclevel-2, .toclimit-3 #toc .toclevel-3, .toclimit-4 #toc .toclevel-4, .toclimit-5 #toc .toclevel-5, .toclimit-6 #toc .toclevel-6, .toclimit-7 #toc .toclevel-7 { display: none; } :root { --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23936039' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } .mw-parser-output a.external { background-image: var(--external-icon); background-size: 0.833em; } .mw-editsection { font-family: 'Helvetica Neue', 'Arial', sans-serif; } .client-js .mw-content-ltr .mw-editsection-bracket:first-of-type, .client-js .mw-content-ltr .mw-editsection-bracket:not(:first-of-type), .mw-editsection-divider { color: var(--text-color); } #contentSub, #contentSub2 { color: var(--byline-color); margin: 0; } #contentSub:not(:empty), #contentSub2:not(:empty) { margin: 0 0 1.4em 0; } .mw-collapsible.mw-collapsed { min-width: 250px; } .mw-collapsible:not( .mw-made-collapsible) th::before, .mw-collapsible .mw-collapsible-toggle { font-weight: normal; margin-left: 0.2em; } .wikiEditor-ui .wikiEditor-ui-view, .wikiEditor-ui .wikiEditor-ui-top { border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar { background-color: var(--sourceeditor-background); } .wikiEditor-ui-toolbar .tabs span.tab > a, .wikiEditor-ui-toolbar .tabs span.tab > a:visited { color: var(--link-color); } .wikiEditor-ui-toolbar .tabs span.tab a.current, .wikiEditor-ui-toolbar .tabs span.tab a.current:visited { color: var(--text-colour); } .wikiEditor-ui-toolbar .group { border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar .group .tool-select { background-color: var(--sourceeditor-background); border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar .group .tool-select .options { border-color: var(--sourceeditor-border); background-color: var(--body-main); } .wikiEditor-ui-toolbar .group .tool-select .options .option { color: var(--link-color); } .wikiEditor-ui-toolbar .group .tool-select .menu .options .option:hover { background-color: var(--ooui-normal--hover); } .wikiEditor-ui-toolbar .group-search { border-left-color: var(--body-mid); } .wikiEditor-ui-toolbar .page-table td { border-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .page-table th { color: var(--text-color); } .wikiEditor-ui-toolbar .sections .section { border-color: var(--body-mid); } .wikiEditor-ui-toolbar .sections .toolbar .group > .label { color: var(--text-color); } .wikiEditor-ui-toolbar .sections .toolbar .tool > .label { color: var(--text-color); } .wikiEditor-ui-toolbar .booklet > .index > :hover { background-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .booklet .index > .current { background-color: var(--body-mid); color: var(--link-color); } .wikiEditor-ui-toolbar .page-characters div span { border-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .page-characters div span:hover { border-color: var(--body-dark); background-color: transparent; } .wikiEditor-ui-toolbar .tabs span.tab a:before, .wikiEditor-ui-toolbar .group .tool-select .label:after { background: var(--text-color); -webkit-mask: var(--arrow-down) center no-repeat; mask: var(--arrow-down) center no-repeat; } .ace-tm { background-color: var(--sourceeditor-input-background); color: var(--text-color); } .ace-tm .ace_gutter { background: var(--body-mid); color: var(--text-color); } .ace-tm .ace_gutter-cell { color: var(--text-color); } .ace-tm .ace_gutter-active-line { background-color: var(--body-light); } .ace_search { background-color: var(--body-light); color: var(--text-color); border-color: var(--body-mid); } .ace_search_field { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .ace_searchbtn { border-color: var(--ooui-normal-border); background-color: var(--ooui-normal); color: var(--ooui-text); } .ace_searchbtn:last-child { border-color: var(--ooui-normal-border); } .ace_searchbtn:hover { background-color: var(--ooui-normal--hover); } .ace_searchbtn.prev:after, .ace_searchbtn.next:after { border-color: var(--ooui-text); } .ace_button { color: var(--text-color); } .ace_button:hover { background-color: rgba(0, 23, 70, 0.086); } .ace_button:active { background-color: rgba(0, 23, 70, 0.06); } .ace_button.checked { border-color: var(--ooui-accent); } .CodeMirror { background: var(--sourceeditor-input-background); } .CodeMirror pre { color: var(--text-color); } .codeEditor-status { border-color: var(--sourceeditor-border); background-color: var(--sourceeditor-background); } .codeEditor-status-message { border-color: var(--sourceeditor-border); } .CodeMirror-gutters { background-color: var(--codemirror-gutter-background); border-color: var(--sourceeditor-border); } .CodeMirror-linenumber { color: var(--text-color); } .ve-init-mw-desktopArticleTarget .CodeMirror-linenumber { color: var(--byline-color); } .mw-editform #wpTextbox1 { color: var(--text-color); background: var(--sourceeditor-input-background); border-color: var(--sourceeditor-border); } input[name="model"][value="Scribunto"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="css"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="less"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="javascript"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="json"] ~ .wikiEditor-ui #wpTextbox1 { height: 600px; } .tdg-templateDataDialog-listParamsPanel textarea.oo-ui-textInputWidget-autosized { resize: vertical; } #wpAceFilterEditor { resize: horizontal; } .warn-userupload, .ns-2 .upload-own-work { display: none; } .ns-2 .warn-userupload { display: inline; } textarea[name="wfUploadDescription"] { height: 3em; } #editform { margin-top: 1.25em; } #mw-scribunto-input, #mw-scribunto-output { padding: 3px; font-family: monospace; font-size: 13px; line-height: 1.5em; } #mw-scribunto-input { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } :root { --scribuntoconsole-input: #0b5884; --scibuntoconsole-print: #a48900; --scribuntoconsole-error: #9f261e; --scribuntoconsole-message: #3c780a; --scribuntoconsole-tabcomplete: #4f348b; --scribuntoconsole-clear: #9f261e; } .mw-scribunto-console-fieldset { color: inherit; background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-scribunto-normalOutput, .mw-scribunto-print, .mw-scribunto-error, .mw-scribunto-propList, .mw-scribunto-message, .mw-scribunto-tabcomplete { background: none; } .mw-scribunto-input { color: var(--scribuntoconsole-input); } .mw-scribunto-normalOutput { color: inherit; } .mw-scribunto-print { color: var(--scibuntoconsole-print); } .mw-scribunto-error { color: var(--scribuntoconsole-error); } .mw-scribunto-propList, .mw-scribunto-message { color: var(--scribuntoconsole-message); } .mw-scribunto-tabcomplete { color: var(--scribuntoconsole-tabcomplete); } .mw-scribunto-clear { color: var(--scribuntoconsole-clear); border-bottom-color: var(--scribuntoconsole-clear); } .keypress { background: #eee; color: #333; font-family: monospace; text-shadow: 0 1px 0 #fff; border: 1px solid #ccc; border-radius: 3px; margin: 0 0.1em; padding: 0.1em 0.5em; line-height: 1.4; white-space: nowrap; display: inline-block; } :root { --navbox-background: var(--body-light); --navbox-border: var(--body-dark); --navbox-title-background: var(--body-dark); --navbox-footer-background: var(--body-dark); --navbox-group-title-background: var(--body-mid); } .navbox { font-size: 0.85em; background: var(--navbox-background); border-collapse: collapse; margin: 1em auto 0; width: 100%; clear: both; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { .navbox img { image-rendering: pixelated; image-rendering: crisp-edges; } } .navbox .navbox { font-size: 100%; margin: 0.5em auto 0; box-shadow: none; } .navbox-title { font-size: 110%; line-height: 1.6em; background: var(--navbox-title-background); text-align: center; padding: 0.25em 1em; } .navbox-title-name { margin: 0 4em; } .navbox-title .mw-collapsible-toggle { font-size: 0.9em; text-align: right; } .navbox-title .navbox { font-size: 100%; } .navbox-group:nth-child(2) { border-top: 1px solid var(--navbox-border); } .navbox-group-title { background: var(--navbox-group-title-background); border: 1px solid var(--navbox-border); border-width: 0 1px 1px 0; text-align: left; padding: 0.25em 1em; width: 1%; white-space: nowrap; } .navbox-list { border-bottom: 1px solid var(--navbox-border); padding: 0.25em 0.5em; } .navbox-list ul { margin: 0; } .navbox-list li { display: inline; white-space: nowrap; } .navbox-list li + li::before { content: '• '; } .navbox-parent { padding: 0; } .navbox-subgroup { border-collapse: collapse; border-spacing: 0; width: 100%; } .navbox-subgroup > tbody > tr:last-child > th, .navbox-subgroup > tbody > tr:last-child > td { border-bottom: none; } .navbox-footer { background: var(--navbox-footer-background); text-align: center; padding: 0.25em 1em; } .navbox-data { display: none; } :root { --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%234c4c4c' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%234c4c4c' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --echo-icon-bell-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Ebell%3C/title%3E%3Cpath d=%22M16 7a5.38 5.38 0 00-4.46-4.85C11.6 1.46 11.53 0 10 0S8.4 1.46 8.46 2.15A5.38 5.38 0 004 7v6l-2 2v1h16v-1l-2-2zm-6 13a3 3 0 003-3H7a3 3 0 003 3z%22 fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-tray-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Etray%3C/title%3E%3Cpath d=%22M3 1a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V3a2 2 0 00-2-2zm14 12h-4l-1 2H8l-1-2H3V3h14z%22 fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-fullscreen-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E fullscreen %3C/title%3E%3Cg fill='%234c4c4c'%3E%3Cpath d='M1 1v6h2V3h4V1zm2 12H1v6h6v-2H3zm14 4h-4v2h6v-6h-2zm0-16h-4v2h4v4h2V1z'/%3E%3C/g%3E%3Cscript xmlns=''/%3E%3C/svg%3E"); --echo-icon-exitFullscreen-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E exit fullscreen %3C/title%3E%3Cg fill='%234c4c4c'%3E%3Cpath d='M7 7V1H5v4H1v2zM5 19h2v-6H1v2h4zm10-4h4v-2h-6v6h2zm0-8h4V5h-4V1h-2v6z'/%3E%3C/g%3E%3Cscript xmlns=''/%3E%3C/svg%3E"); } .vector-user-menu-legacy #pt-userpage a, .vector-user-menu-legacy #pt-anonuserpage { background-image: var(--echo-icon-person-bg-image); padding-top: 0; background-position-y: 0; } .vector-user-menu-legacy #pt-anonuserpage { color: var(--byline-color); } #pt-notifications-alert .mw-echo-notifications-badge, #pt-notifications-notice .mw-echo-notifications-badge { background-size: 75%; background-position: center 80%; background-repeat: no-repeat; opacity: unset; } #pt-notifications-alert .mw-echo-notifications-badge.mw-echo-notifications-badge-all-read, #pt-notifications-notice .mw-echo-notifications-badge.mw-echo-notifications-badge-all-read { opacity: unset; } #pt-notifications-alert .oo-ui-icon-bell { background-image: var(--echo-icon-bell-bg-image); } #pt-notifications-notice .oo-ui-icon-tray { background-image: var(--echo-icon-tray-bg-image); } #pt-fixed-width .oo-ui-icon-advanced { background-image: var(--echo-icon-exitFullscreen-bg-image); } body.wgl-fixedWidth #pt-fixed-width .oo-ui-icon-advanced { background-image: var(--echo-icon-fullscreen-bg-image); } #pt-theme-toggles .oo-ui-icon-advanced { background-image: var(--echo-icon-moon-bg-image); } #pt-anontalk { padding-top: 0.6em; } .tabber { display: inline-grid; } 0b51871b3762cbd084e546e273fbc1a10869e188 Woodcutting 0 302 488 2024-03-22T18:47:06Z Wolaznik 8 Redirected page to [[Woodcutter]] wikitext text/x-wiki #REDIRECT [[Woodcutter]] 5e6c1aabeb5ed667eb96fe85932ffe55c150d438 MediaWiki:Gadget-QuickDiff 8 303 489 2024-03-22T18:48:00Z Habblet 11 Created page with "'''QuickDiff''': Quickly view diffs without leaving the page by opening them in a modal" wikitext text/x-wiki '''QuickDiff''': Quickly view diffs without leaving the page by opening them in a modal 30bc648ee9dcc6b576359078ab7c450c536b0059 MediaWiki:Gadget-QDmodal.js 8 304 490 2024-03-22T18:48:43Z Habblet 11 Created page with "/* <nowiki> QDmodal - flexbox-based modal library CSS located at [[MediaWiki:Gadget-QDmodal.css]] @author OneTwoThreeFall @source <https://dev.fandom.com/wiki/QDmodal> @source <https://dev.fandom.com/wiki/MediaWiki:QDmodal.js> */ /*jslint browser, long, this */ /*global jQuery, mediaWiki */ (function ($, mw) { "use strict"; var version = 20180212; if (mw.libs.QDmodal && mw.libs.QDmodal.version >= version) { return; }..." javascript text/javascript /* <nowiki> QDmodal - flexbox-based modal library CSS located at [[MediaWiki:Gadget-QDmodal.css]] @author OneTwoThreeFall @source <https://dev.fandom.com/wiki/QDmodal> @source <https://dev.fandom.com/wiki/MediaWiki:QDmodal.js> */ /*jslint browser, long, this */ /*global jQuery, mediaWiki */ (function ($, mw) { "use strict"; var version = 20180212; if (mw.libs.QDmodal && mw.libs.QDmodal.version >= version) { return; } var visibleModals = document.getElementsByClassName("qdmodal"); var $window = $(window); var $body = $(document.body); var $closeIcon = $( "<svg class='qdmodal-close' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'>" + "<title>Close</title>" + "<path stroke='currentColor' d='M 3,3 13,13 M 13,3 3,13'/>" + "</svg>" ); function addButton(button) { var $button = $("<span>"); if (button.href) { $button = $("<a>").attr({ href: button.href, target: "_blank" }); } if (typeof button.handler === "function") { $button.on("click", button.handler); } if (button.attr) { $button.attr(button.attr); } $button.addClass("qdmodal-button").text(button.text); this.$footer.append($button); } //// QDmodal constructor //// mw.libs.QDmodal = function (id) { if (this === mw.libs) { throw new Error("mw.libs.QDmodal should be called as a constructor."); } var $close = $closeIcon.clone(); this.$container = $("<div>").addClass("qdmodal-container"); this.$element = $("<div>").addClass("qdmodal"); this.$title = $("<h3>"); this.$content = $("<section>"); this.$footer = $("<footer>"); this.$container.append( this.$element.append( $("<header>").append( this.$title, $close ), this.$content, this.$footer ) ); this.visible = false; this.data = null; if (typeof id === "string") { this.$element.attr("id", id); } $close.on("click", this.hide.bind(this)); // close modal if the background outside the modal is clicked this.$container.on("click", function (event) { if (event.target === event.delegateTarget) { this.hide(); } }.bind(this)); // close modal if the escape key is pressed $window.on("keydown", function (event) { if (this.visible && event.which === 27) { this.hide(); } }.bind(this)); }; mw.libs.QDmodal.prototype.hide = function () { if (this.data && typeof this.data.onHide === "function") { this.data.onHide(this); } this.visible = false; this.data = null; this.$container.detach(); if (!visibleModals.length) { $body.removeClass("qdmodal-no-scroll"); } }; mw.libs.QDmodal.prototype.show = function (data) { if (!data) { return; } this.data = data; this.$content.toggleClass("mw-ajax-loader", Boolean(data.loading)); // only set title if one is given, else keep previous title if (data.title) { this.$title.text(data.title); } this.$content.html(data.content || ""); this.$footer.empty(); if (Array.isArray(data.buttons)) { data.buttons.forEach(addButton.bind(this)); } if (data.hook) { mw.hook(data.hook).fire(this); } if (!this.visible) { $body .addClass("qdmodal-no-scroll") .append(this.$container); this.visible = true; } if (typeof this.data.onShow === "function") { this.data.onShow(this); } }; mw.libs.QDmodal.version = version; // fire hook for convenience mw.hook("dev.qdmodal").fire(mw.libs.QDmodal); //// QDmodal theming //// function initStyles() { var theme = { scrollbarWidth: window.innerWidth - document.body.offsetWidth }; var styles = ( "body.qdmodal-no-scroll {" // add a margin equivalent to the scrollbar width to // prevent page content moving due to hidden overflow + "margin-right: ${scrollbarWidth}px;" + "}" ); // replace placeholders with theme data mw.util.addCSS(styles.replace(/\$\{([^}]+)\}/g, function (ignore, p1) { return theme[p1]; })); } mw.loader.using("mediawiki.util").then(initStyles); }(jQuery, mediaWiki)); dcc3581986c598eaceefdbf45aa79e4e45c9420e MediaWiki:Gadget-QDmodal.css 8 305 491 2024-03-22T18:49:14Z Habblet 11 Created page with "/* CSS for [[MediaWiki:Gadget-QDmodal.js]] */ .qdmodal-no-scroll { overflow: hidden; } .qdmodal-container { background-color: hsla(0, 0%, 0%, 0.4); font-size: 14px; line-height: 22px; display: flex; justify-content: center; align-items: center; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 101; /* #p-personal has z-index of 100 */ } .qdmodal { color: #36414f; background-color: #fff; bor..." css text/css /* CSS for [[MediaWiki:Gadget-QDmodal.js]] */ .qdmodal-no-scroll { overflow: hidden; } .qdmodal-container { background-color: hsla(0, 0%, 0%, 0.4); font-size: 14px; line-height: 22px; display: flex; justify-content: center; align-items: center; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 101; /* #p-personal has z-index of 100 */ } .qdmodal { color: #36414f; background-color: #fff; border-radius: 3px; display: flex; flex-direction: column; max-height: calc(100% - 50px); max-width: calc(100% - 50px); overflow: hidden; } @media (max-height: 500px) { .qdmodal { max-height: 100%; } } @media (max-width: 500px) { .qdmodal { max-width: 100%; } } .qdmodal > section { flex-grow: 1; padding: 20px; min-height: 40px; overflow-y: auto; -webkit-overflow-scrolling: touch; /* enable inertia scrolling on mobile */ } .qdmodal > header, .qdmodal > footer { display: flex; background-color: hsla(0, 0%, 75%, 0.4); } .qdmodal > header { min-height: 22px; padding: 12px 20px; } .qdmodal > footer { align-items: center; flex-direction: row-reverse; min-height: 27px; padding: 9px; } .qdmodal > header > h3 { flex-grow: 1; color: inherit; font-size: 1.3em; font-weight: bold; margin: 0; padding: 0; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .qdmodal .diff-addedline, .qdmodal .diff-deletedline, .qdmodal .diff-context { font-size: 90%; } .qdmodal-close { width: 28px; height: 28px; min-width: 28px; margin: -12px -20px; margin-left: 0; padding: 9px; } .qdmodal-button { border: 1px solid #999; border-radius: 3px; color: inherit; font-size: 0.9em; line-height: 1; cursor: default; white-space: nowrap; display: block; height: 1em; margin-left: 12px; padding: 6px 12px; } .qdmodal-button[href] { cursor: pointer; } .qdmodal-button:visited { color: inherit; } .qdmodal-button[disabled] { opacity: 0.6; pointer-events: none; } .qdmodal-close, .qdmodal-button { transition: background-color 0.2s; } .qdmodal-close:hover, .qdmodal-button:hover { background-color: #fff; border-color: #777; text-decoration: none; } /* remove [ and ] brackets from rollback button */ .qdmodal .mw-rollback-link::before, .qdmodal .mw-rollback-link::after { content: ''; } /* dark mode */ .wgl-theme-dark .qdmodal { color: #cbd9f4; background: #172136; } .wgl-theme-dark .qdmodal > header, .wgl-theme-dark .qdmodal > footer { background: #11192a; } .wgl-theme-dark .qdmodal .mw-ajax-loader { filter: invert(1); } .wgl-theme-dark .qdmodal-button { border-color: #596e96; } .wgl-theme-dark .qdmodal-close:hover, .wgl-theme-dark .qdmodal-button:hover { background: #222e45; border-color: #596e96; } 175c5781ce8ba772b7a63f47a6ea0e7432c51148 File:Professions preview 1.jpg 6 306 492 2024-03-22T18:50:01Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 MediaWiki:Gadgets-definition 8 6 493 437 2024-03-22T18:50:06Z Habblet 11 /* Tools */ wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. <!--For scripts that are intended for use on a lot of pages, it may be a good idea to propose it on the [[Forum:Yew Grove|Yew Grove]] first. -->Gadgets which can be enabled/disabled by the user (on [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]]) should have a description created on ''Mediawiki:Gadget-gadgetname''. ==Core== * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js * tooltips[ResourceLoader|type=general|default|hidden]|tooltips.js ==Tools== * ezcopy[ResourceLoader|type=general|targets=desktop]|ezcopy.js|ezcopy.css * QuickDiff[ResourceLoader|type=general|dependencies=mediawiki.Uri,mediawiki.util]|QDmodal.js|QuickDiff.js|QDmodal.css ==Other== * gadgetLinks[ResourceLoader|type=general|default]|gadgetLinks.js 015fd556b0646e0318d6b579797d54d25fe6bd98 499 493 2024-03-22T18:51:20Z BlackHawk 10 wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. <!--For scripts that are intended for use on a lot of pages, it may be a good idea to propose it on the [[Forum:Yew Grove|Yew Grove]] first. -->Gadgets which can be enabled/disabled by the user (on [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]]) should have a description created on ''Mediawiki:Gadget-gadgetname''. ==Core== * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js * tooltips[ResourceLoader|type=general|default|hidden]|tooltips.js ==Tools== * batchupload[ResourceLoader|type=general|default|hidden|dependencies=mediawiki.util|rights=upload]|batchupload.js * dropdown[ResourceLoader|type=general|dependencies=mediawiki.util,mediawiki.api|default]|dropdown.js * ezcopy[ResourceLoader|type=general|targets=desktop]|ezcopy.js|ezcopy.css * hotcat[ResourceLoader|rights=upload|type=general]|hotcat.js * QuickDiff[ResourceLoader|type=general|dependencies=mediawiki.Uri,mediawiki.util]|QDmodal.js|QuickDiff.js|QDmodal.css * sectionAnchors[ResourceLoader|type=general|default]|sectionAnchors.js|sectionAnchors.css ==Other== * gadgetLinks[ResourceLoader|type=general|default]|gadgetLinks.js d5f1674ba6b34fe5dde71421b8bd8a514917c2c0 File:Professions preview 2.jpg 6 307 494 2024-03-22T18:50:19Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 MediaWiki:Gadget-section-Tools 8 308 495 2024-03-22T18:50:41Z Habblet 11 Created page with "Tools" wikitext text/x-wiki Tools 4fa8cc860c52b268dc6a3adcde7305e9415db5bb File:Professions preview 3.jpg 6 309 496 2024-03-22T18:50:50Z Wolaznik 8 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 MediaWiki:Gadget-section-Other 8 310 497 2024-03-22T18:51:00Z Habblet 11 Created page with "Other" wikitext text/x-wiki Other 6e6a6f2086bb5fe5dbfd17d8d5f502d48759834b Food 0 311 500 2024-03-22T18:51:53Z Wolaznik 8 Created page with "'''Food''' can be cooked as a part of the [[Chef]] [[profession]]." wikitext text/x-wiki '''Food''' can be cooked as a part of the [[Chef]] [[profession]]. e322cf7fa19ac46f914afd3f5210aa810172a81a MediaWiki:Gadget-Less 8 312 501 2024-03-22T18:52:16Z BlackHawk 10 Created page with "'''Less''': Contains the Less page configurations mapping .less to .css pages (enabled for Administrator+)." wikitext text/x-wiki '''Less''': Contains the Less page configurations mapping .less to .css pages (enabled for Administrator+). c2889522e3e1628c261bc12508c44a87f4a496b9 Fish 0 313 502 2024-03-22T18:53:18Z Wolaznik 8 Created page with "'''Fish''' can be caught as a part of the [[Fisher]] [[profession]]." wikitext text/x-wiki '''Fish''' can be caught as a part of the [[Fisher]] [[profession]]. 260ffa938d7b7e9786b061291fa5ee7336c6dd66 MediaWiki:Gadget-tooltips 8 314 503 2024-03-22T18:53:31Z BlackHawk 10 Created page with "'''Tooltips''': Generates tooltips based on a span (button placement) and div (tooltip contents). See [[Template:Tooltip]] and [[Template:Tooltip text]], or [[Module:Tooltip]] for usage." wikitext text/x-wiki '''Tooltips''': Generates tooltips based on a span (button placement) and div (tooltip contents). See [[Template:Tooltip]] and [[Template:Tooltip text]], or [[Module:Tooltip]] for usage. d8f046f9809f616d394c93cb1d2b7afdac19a0b1 File:Cliffside Path.jpg 6 178 504 315 2024-03-22T18:55:43Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_420316c62c7a7e2338a2f84f04d06b17d9dfd159.jpg?t=1710756596}} c85fa3a6aa5f79db3d6974d075c28e35f3abb611 Brighter Shores 0 51 505 351 2024-03-22T18:55:56Z Jayden 3 wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024, and will be available for Windows and macOS (Apple Silicon and Intel chipsets). The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An initial two-minute trailer was released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}} The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. Brighter Shores features an ongoing story with hundreds of hours of gameplay.{{CiteGeneral|url=https://store.steampowered.com/app/2791440/Brighter_Shores/|title=Brighter Shores on Steam|author=Valve|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/eYgMA|archivedate=22 March 2024}} Players start their journey in [[Hopeport]], as a member of the town guard. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] * [https://brightershores.com/ Official website] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] e165ec3012cc6620697fe78d1b363cf4f9db0cf3 MediaWiki:Common.less/documentation.less 8 315 506 2024-03-22T18:56:14Z BlackHawk 10 Created page with "/* ================================== [[Template:Documentation]] ================================== */ :root { --documentation-background: @black-haze; --documentation-link-color: @mystic; --documentation-headers-color: @white; --documentation-header-background: @gray-chateau; --documentation-subheader-background: darken( @gray-chateau, 7% ); --documentation-border: @mystic; } .documentation { background: var(--documentation-background); box-shadow: @..." less less /* ================================== [[Template:Documentation]] ================================== */ :root { --documentation-background: @black-haze; --documentation-link-color: @mystic; --documentation-headers-color: @white; --documentation-header-background: @gray-chateau; --documentation-subheader-background: darken( @gray-chateau, 7% ); --documentation-border: @mystic; } .documentation { background: var(--documentation-background); box-shadow: @box-shadow; margin: 1em 0; pre, code { background-color: var(--documentation-background); border-color: var(--documentation-border); } h2, hr { border-color: var(--documentation-border); } } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } // this font-size cannot be placed on .documentation-header // because it changes the padding em .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: .5em 1.5em; a, a:visited, a:active { color: var(--documentation-link-color); } } // this font-size cannot be placed on .documentation-subheader // because it changes the padding em .documentation-documentation, .documentation-links { font-size: .85em; } .documentation-content { padding: 1em 1.5em; } /* ================================== Templatedata tag / [[Template:TemplateData]] ================================== */ .mw-templatedata-doc-params { dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } dt::after { content: ":"; } dd, dt { margin: 0.1em 2em; min-width: auto; } } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } 97c753975b3000374043af9cabd020aa0b75c4d2 File:Chef.jpg 6 211 507 373 2024-03-22T18:56:38Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_31e9f81c0550a0bca3a1dd86c8c541320baefb5c.jpg?t=1710756596}} e03e56093874236ebbd2688b14ee04abbbe25219 MediaWiki:Common.less 8 5 508 282 2024-03-22T18:57:13Z BlackHawk 10 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: @black; --byline-color: @tundora; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/documentation.less'; // [[Template:Documentation]] @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> @import '@{common}/messagebox.less'; // Messagebox templates // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } e761c0cb8ac77cb3e873afc8ecdc229c220d5900 File:Equipment.jpg 6 48 510 74 2024-03-22T18:57:39Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_6e048fb31e9bd1825bf5369477ff5f1155bd72eb.jpg?t=1710756596}} 76f6c876d28a0ea31c8d61b397532b2aab3aca76 Combat 0 191 511 371 2024-03-22T18:57:56Z Habblet 11 wikitext text/x-wiki [[File:Equipment.jpg|thumb|right|A preview of player in combat.]] '''Combat''' is a mechanic in [[Brighter Shores]] in which several [[player]]s or monsters fight. Depending on the [[class]] that is being used, player combat can utilise melee, ranged, or magic. 850baf3086a14b8444a45ed4285fda5a2fcc102c Template:Tooltip 10 316 512 2024-03-22T19:00:16Z BlackHawk 10 Created page with "<includeonly>{{#invoke:Tooltip|span}}</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>{{#invoke:Tooltip|span}}</includeonly><noinclude>{{/doc}}</noinclude> d7ad5170d0a187f871a352c9aa5bb2b68407bdf7 Sense 0 317 513 2024-03-22T19:00:36Z Jayden 3 Created page with "'''Sense''' is a [[spell]] that [[player]]s can use to detect monsters and objects around them. After casting it, entities in a small area around the player will have tooltips and nameplates displaying their name and information about them.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=Once you learn the sense..." wikitext text/x-wiki '''Sense''' is a [[spell]] that [[player]]s can use to detect monsters and objects around them. After casting it, entities in a small area around the player will have tooltips and nameplates displaying their name and information about them.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=Once you learn the sense spell you can highlight everything interactive nearby. No more hunting around for small items!}} ==References== {{Reflist}} a5b05dac42839505202214a157b0f40c8074228c Character 0 318 514 2024-03-22T19:02:07Z Jayden 3 Redirected page to [[Player]] wikitext text/x-wiki #REDIRECT [[Player]] 2ffc7e7a91be927b1725a157e148ea02e23a0cea Player 0 168 515 304 2024-03-22T19:02:59Z Jayden 3 wikitext text/x-wiki '''Players''' are human-controlled characters in [[Brighter Shores]]. They have the ability to explore the world, train [[professions]], pick a [[class]], and more. Players can access all free-to-play areas in the game, but their parent [[account]] owning a [[Premium Pass]] will allow them to access more content. Each player has a character name, which is suffixed with a hash and a series of numbers. Free-to-play players cannot change their character name after creation, but Premium Pass owners are able to set a unique character name (without a suffix) and change their name at any time. [[Category:Community]] 1c3a3ca451bfc1859506f9b24871d6ac98fa4949 Template:Tooltip/doc 10 319 516 2024-03-22T19:03:19Z BlackHawk 10 Created page with "{{Documentation|Template:Tooltip}} [[Template:Tooltip]] and [[Template:Tooltip text]] are templates is for generating clickable tooltips to show additional information. They are to be used together. These tooltips '''require JavaScript''', so should only be used for non-essential additional information only. They will not show at all in the mobile skin or if the user has JavaScript disabled. The script powering these tooltips is located at MediaWiki:Gadget-tooltips.js..." wikitext text/x-wiki {{Documentation|Template:Tooltip}} [[Template:Tooltip]] and [[Template:Tooltip text]] are templates is for generating clickable tooltips to show additional information. They are to be used together. These tooltips '''require JavaScript''', so should only be used for non-essential additional information only. They will not show at all in the mobile skin or if the user has JavaScript disabled. The script powering these tooltips is located at [[MediaWiki:Gadget-tooltips.js]]. ==Usage== Tooltip usage is much like references. A small snippet is placed in the text to define the position of the tooltip, and the full tooltip text is specified elsewhere. The tooltip position is specified by [[Template:Tooltip]]. The tooltip content is specified by [[Template:Tooltip text]]. The two are linked together by a name. Each {{t|tooltip text}} must have a unique name, but many {{t|tooltip}}s can refer to that name, to have the same tooltip appear in multiple places. The name is not displayed visibly to the reader. If a name is not specified for a template, a script error is thrown. The content of a tooltip can be any normal wikicode. '''Remeber to escape | in tables!''' (use <code><nowiki>{{!}}</nowiki></code>, or HTML notation <code><nowiki><table><tr><th><td></nowiki></code> etc. Be aware that due to the nature of the construction of tooltips (within a div tag), whitespace (including additional newlines) will be collapsed to a single space. Use br or p tags to construct multiple paragraphs. ===Basic=== The most basic usage is to use the templates with minimal inputs. The required inputs are: <pre>{{Tooltip|tooltip name}} {{Tooltip text |name = tooltip name |content = tooltip content }}</pre> ;Example <pre>Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|example1}} {{Tooltip text |name = example1 |content = Example tooltip content }}</pre> Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|example1}} {{Tooltip text |name = example1 |content = Example tooltip content }} ===Advanced=== The tooltip templates have a few additional parameters, which come with defaults: <pre>{{Tooltip|name|clickable text; default ?}} {{Tooltip text |name = tooltip name |content = tooltip content |arrow = whether to show an arrow to point at the click point; default yes |arrowsize = width and height of the arrow (height = 2*width); default 10 |limitwidth = automatically limit width of the tooltip to within content; default yes |style = additional in-line css to add to the tooltip; default none }}</pre> ;Additional specification :''limitwidth'' ''limitwidth'' will automatically apply a maximum width to the tooltip, to keep it within content. Without ''limitwidth'', the default maximum width is 80% of the entire browser window (the body tag). With ''limitwidth'' enabled, it is limited to the width of the (larger) gap between the click point and the edge of content (the tag with id=mw-content-text). :''style'' The following styles are set during script runtime so can't be used by this parameter: * left * right * top * max-width (if using ''limitwidth'') ===Module=== To use tooltips within a module, require [[Module:Tooltip]]. The <code>_span</code> and <code>_div</code> functions are available to use to generate the clickable span and the tooltip content, respectively. They accept the same parameters as the templates, in a table. The returned span/div are mw.html objects. ===Examples=== ;alt text <pre>Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|altclick|click here!}} {{Tooltip text |name = altclick |content = Example tooltip content for alt click }}</pre> Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|altclick|click here!}} {{Tooltip text |name = altclick |content = Example tooltip content for alt click }} ;No arrow <pre>Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|noarrow}} {{Tooltip text |name = noarrow |content = Example tooltip content with no arrow |arrow = no }}</pre> Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|noarrow}} {{Tooltip text |name = noarrow |content = Example tooltip content with no arrow |arrow = no }} ;Larger arrow <pre>Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|largearrow}} {{Tooltip text |name = largearrow |content = Example tooltip content with a bigger arrow <br /><br /> and more lines in the box |arrowsize = 20 }}</pre> Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|largearrow}} {{Tooltip text |name = largearrow |content = Example tooltip content with a bigger arrow <br /><br /> and more lines in the box |arrowsize = 20 }} ;Limited width comparison <pre>Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|limitedwidth}} Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|unlimitedwidth}} {{Tooltip text |name = limitedwidth |content = Example tooltip with limited width <br /><br /> Vestibulum sit amet fringilla diam. Phasellus ac magna sapien. Suspendisse potenti. Duis id metus elementum, sagittis massa iaculis, imperdiet sem. Maecenas mollis, massa vitae vehicula mollis, eros mauris posuere mi, vel malesuada tortor lectus a lectus. Aliquam suscipit dignissim consequat. Vestibulum in ipsum orci. Vivamus quis dolor in purus viverra gravida eu quis ipsum. }} {{Tooltip text |name = unlimitedwidth |limitwidth = no |content = Example tooltip with unlimited width <br /><br /> Vestibulum sit amet fringilla diam. Phasellus ac magna sapien. Suspendisse potenti. Duis id metus elementum, sagittis massa iaculis, imperdiet sem. Maecenas mollis, massa vitae vehicula mollis, eros mauris posuere mi, vel malesuada tortor lectus a lectus. Aliquam suscipit dignissim consequat. Vestibulum in ipsum orci. Vivamus quis dolor in purus viverra gravida eu quis ipsum. }}</pre> Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|limitedwidth}} Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|unlimitedwidth}} {{Tooltip text |name = limitedwidth |content = Example tooltip with limited width <br /><br /> Vestibulum sit amet fringilla diam. Phasellus ac magna sapien. Suspendisse potenti. Duis id metus elementum, sagittis massa iaculis, imperdiet sem. Maecenas mollis, massa vitae vehicula mollis, eros mauris posuere mi, vel malesuada tortor lectus a lectus. Aliquam suscipit dignissim consequat. Vestibulum in ipsum orci. Vivamus quis dolor in purus viverra gravida eu quis ipsum. }} {{Tooltip text |name = unlimitedwidth |limitwidth = no |content = Example tooltip with unlimited width <br /><br /> Vestibulum sit amet fringilla diam. Phasellus ac magna sapien. Suspendisse potenti. Duis id metus elementum, sagittis massa iaculis, imperdiet sem. Maecenas mollis, massa vitae vehicula mollis, eros mauris posuere mi, vel malesuada tortor lectus a lectus. Aliquam suscipit dignissim consequat. Vestibulum in ipsum orci. Vivamus quis dolor in purus viverra gravida eu quis ipsum. }} ;Style <pre>Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|style}} {{Tooltip text |name = style |content = Example tooltip content with style (background colour) |style = background:lightgreen; }}</pre> Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|style}} {{Tooltip text |name = style |content = Example tooltip content with style (background colour) |style = background:lightgreen; }} ;Tables <pre>Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|table}} {{tooltip text|name=table|content=Table test {{{!}} class="wikitable align-right-2 align-right-3" style="margin: 0 auto;" ! Header 1 ! Header 2 ! Header 3 {{!}}- {{!}}- {{!}} Value 1 {{!}} Value 2 {{!}} Value 3 {{!}}- {{!}} Value 1 {{!}} Value 2 {{!}} Value 3 {{!}}- {{!}} Value 1 {{!}} Value 2 {{!}} Value 3 {{!}}- {{!}} Value 1 {{!}} Value 2 {{!}} Value 3 {{!}}- {{!}} Value 1 {{!}} Value 2 {{!}} Value 3 {{!}}- {{!}} Value 1 {{!}} Value 2 {{!}} Value 3 {{!}}} }}</pre> Lorem ipsum dolor sit amet, consectetur adipiscing elit.{{Tooltip|table}} {{tooltip text|name=table|content=Table test {{{!}} class="wikitable align-right-2 align-right-3" style="margin: 0 auto;" ! Header 1 ! Header 2 ! Header 3 {{!}}- {{!}}- {{!}} Value 1 {{!}} Value 2 {{!}} Value 3 {{!}}- {{!}} Value 1 {{!}} Value 2 {{!}} Value 3 {{!}}- {{!}} Value 1 {{!}} Value 2 {{!}} Value 3 {{!}}- {{!}} Value 1 {{!}} Value 2 {{!}} Value 3 {{!}}- {{!}} Value 1 {{!}} Value 2 {{!}} Value 3 {{!}}- {{!}} Value 1 {{!}} Value 2 {{!}} Value 3 {{!}}} }} <includeonly>[[Category:Formatting templates]]</includeonly> 6790cd49490109913e54d1b8460543a759f50224 Template:Tooltip text 10 320 517 2024-03-22T19:03:33Z BlackHawk 10 Created page with "<includeonly>{{#invoke:Tooltip|div}}</includeonly><noinclude>{{Tooltip/doc}}</noinclude>" wikitext text/x-wiki <includeonly>{{#invoke:Tooltip|div}}</includeonly><noinclude>{{Tooltip/doc}}</noinclude> a5229854c7eb4fc29b02fa06f15607d7902cdd5c MediaWiki:Gadget-dropdown 8 323 520 2024-03-22T19:05:23Z BlackHawk 10 Created page with "'''MoreDropdown''': Add useful links to the "More" dropdown menu, such as a link to the most recent diff" wikitext text/x-wiki '''MoreDropdown''': Add useful links to the "More" dropdown menu, such as a link to the most recent diff f7930df3c6d988763b308f9c065f3e02d5bb4648 File:Leech Pools.jpg 6 209 521 368 2024-03-22T19:05:40Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_3d06b3a343e43af4f14eaa7ee99a353f3a62d102.jpg?t=1710756596}} d31d429842baeb941c08e3f8c04e1ef3c676c5d9 MediaWiki:Gadget-dropdown.js 8 324 522 2024-03-22T19:05:50Z BlackHawk 10 Created page with "/** * Add various useful links to the "More" dropdown menu * * References: * <https://www.mediawiki.org/wiki/ResourceLoader/Core_modules#addPortletLink> * <https://en.wikipedia.org/wiki/Help:Customizing_toolbars> */ $( function () { var conf = mw.config.get([ 'wgPageName', 'wgNamespaceNumber', 'wgArticlePath' ]) if (conf.wgNamespaceNumber === -1) { return; // don't run on special pages } // link to the most recent diff à la Twinkle..." javascript text/javascript /** * Add various useful links to the "More" dropdown menu * * References: * <https://www.mediawiki.org/wiki/ResourceLoader/Core_modules#addPortletLink> * <https://en.wikipedia.org/wiki/Help:Customizing_toolbars> */ $( function () { var conf = mw.config.get([ 'wgPageName', 'wgNamespaceNumber', 'wgArticlePath' ]) if (conf.wgNamespaceNumber === -1) { return; // don't run on special pages } // link to the most recent diff à la Twinkle mw.util.addPortletLink( 'p-cactions', conf.wgArticlePath.replace('$1', encodeURIComponent(conf.wgPageName) + '?diff=cur'), 'Last', 'ca-diff', 'Show most recent diff' ); // link to subpages of the current page mw.util.addPortletLink( 'p-cactions', conf.wgArticlePath.replace('$1', 'Special:PrefixIndex/' + encodeURIComponent(conf.wgPageName) + '/'), 'Subpages', 'ca-subpages', 'List this page\'s subpages' ); }); 8306681ea5585cd5b20817e6f9a1e3e8852201d0 File:Barricades.jpg 6 208 523 366 2024-03-22T19:06:00Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_83e3115b2029100ad755ff3b5151719427dc2e51.jpg?t=1710756596}} 521fda842fcb2be58695ee50d3d94f8416be9d7e File:Tanners Road.jpg 6 207 526 364 2024-03-22T19:07:02Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_459e8632dde9e6b2f67a2cb9eff42168444e9696.jpg?t=1710756596}} 6e9fb3a459f66d9097aa68f57bf2f639ea5729ca File:Account.jpg 6 327 527 2024-03-22T19:07:10Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Account 0 328 528 2024-03-22T19:07:14Z Jayden 3 Created page with "[[File:Account.jpg|thumb|A view of a player's three accounts.]] An '''account''' is the profile of a human person who is playing [[Brighter Shores]]. Each account can create three [[player|characters]]. Accounts are free-to-play by default, but a player can purchase the [[Premium Pass]] to access additional content. Accounts which own a Premium Pass gain the benefits for all three of their account's characters.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/17..." wikitext text/x-wiki [[File:Account.jpg|thumb|A view of a player's three accounts.]] An '''account''' is the profile of a human person who is playing [[Brighter Shores]]. Each account can create three [[player|characters]]. Accounts are free-to-play by default, but a player can purchase the [[Premium Pass]] to access additional content. Accounts which own a Premium Pass gain the benefits for all three of their account's characters.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1771227689514315873|author=Andrew Gower|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/a5xQT|archivedate=22 March 2024|quote=Brighter Shores allows up to 3 characters per account. And they can all share a single premium pass.}} ==References== {{Reflist}} 55d2d5dd176239cd64803af4649a938afea1b389 File:Bone Vats.jpg 6 206 529 362 2024-03-22T19:07:19Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_16c49b7d139008412bedc1ae1d74325b95aecfd5.jpg?t=1710756596}} 856c5a96567dabedeee8d067030a17c6505f162b File:Woodcutter.jpg 6 205 530 360 2024-03-22T19:07:45Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_b6022e939a9a1094b1433fa4144af8b25ccadd5a.jpg?t=1710756596}} 193b3afdce4e20a62dc1a473ad7a908a99d8cebf Factions 0 72 531 382 2024-03-22T19:08:15Z Jayden 3 Jayden moved page [[Classes]] to [[Factions]]: shown as "factions" in https://twitter.com/AndrewCGower/status/1771227689514315873 wikitext text/x-wiki [[File:Classes.jpg|thumb|right|Examples of the three classes.]] '''Classes''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. ==Classes== * The [[Cryoknight]] class is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]] * [[Guardian]]s use ranged combat, preferring to wield weapons like [[crossbow]]s * The [[Hammermage]] class fights using a mix of melee and magic {{Classes}} dec9d1a43e6cc9c6f64327bb91a652b11896df0b 534 531 2024-03-22T19:08:35Z Jayden 3 wikitext text/x-wiki [[File:Factions.jpg|thumb|right|Examples of the three factions.]] '''Factions''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. ==Classes== * The [[Cryoknight]] faction is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]] * [[Guardian]]s use ranged combat, preferring to wield weapons like [[crossbow]]s * The [[Hammermage]] faction fights using a mix of melee and magic {{Factions}} 0da7d33d409637c8797e293290f5c01a91f86abe Classes 0 329 532 2024-03-22T19:08:15Z Jayden 3 Jayden moved page [[Classes]] to [[Factions]]: shown as "factions" in https://twitter.com/AndrewCGower/status/1771227689514315873 wikitext text/x-wiki #REDIRECT [[Factions]] 7e69f77fb2cf8770075a36e2a256a08c5a03766a File:Goblin Marketplace.jpg 6 204 533 357 2024-03-22T19:08:21Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_8f0e6ffa83d8b346a1125622811bcd51a45bea21.jpg?t=1710756596}} e27c20706333d253ed416bd33b1a830e479f5e2a MediaWiki:Gadget-sectionAnchors 8 330 535 2024-03-22T19:08:40Z BlackHawk 10 Created page with "'''SectionAnchors''': Add a clickable anchor link to the left when hovering over a section heading" wikitext text/x-wiki '''SectionAnchors''': Add a clickable anchor link to the left when hovering over a section heading b85e86451efe45a619f4f42b9123fe1e2cd5964c File:The Deletectable Dab Restaurant.jpg 6 202 536 355 2024-03-22T19:08:45Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_d540de4de1d87730b568463acfb5f2259af53bc5.jpg?t=1710756596}} 7be94436019156f05868017b3e68cabc46f957bb Template:Factions 10 190 537 331 2024-03-22T19:08:45Z Jayden 3 Jayden moved page [[Template:Classes]] to [[Template:Factions]]: shown as "factions" in https://twitter.com/AndrewCGower/status/1771227689514315873 wikitext text/x-wiki {{Navbox |name = Classes |title = [[Classes]] |style1 = text-align:center |group1 = * [[Cryoknight]] * [[Guardian]] * [[Hammermage]] }}{{Ctg|Classes}} a7d3f2a0cd90bdf75e8f185dc76929d5eefe701c 539 537 2024-03-22T19:08:57Z Jayden 3 wikitext text/x-wiki {{Navbox |name = Factions |title = [[Factions]] |style1 = text-align:center |group1 = * [[Cryoknight]] * [[Guardian]] * [[Hammermage]] }}{{Ctg|Factions}} 583999c008241525fb38ab0c75837c27d0d46443 Template:Classes 10 331 538 2024-03-22T19:08:45Z Jayden 3 Jayden moved page [[Template:Classes]] to [[Template:Factions]]: shown as "factions" in https://twitter.com/AndrewCGower/status/1771227689514315873 wikitext text/x-wiki #REDIRECT [[Template:Factions]] 4788398b4ba99f24e73bf26b3860a5aa52368ffc Category:Factions 14 125 540 333 2024-03-22T19:09:10Z Jayden 3 Jayden moved page [[Category:Classes]] to [[Category:Factions]] without leaving a redirect: shown as "factions" in https://twitter.com/AndrewCGower/status/1771227689514315873 wikitext text/x-wiki {{Categoryheader|pages|[[class]]es}} [[Category:Content]] 8121a80df1c7f4a25cec3ab28d8ea6da722652d5 542 540 2024-03-22T19:09:21Z Jayden 3 wikitext text/x-wiki {{Categoryheader|pages|[[factions]]}} [[Category:Content]] c6acbb0cb12c87f9374ec75779cea5dd2a91bc58 File:Lani's Curiosities.jpg 6 182 541 321 2024-03-22T19:09:19Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_fa729ea6cdd69820f5800ea5037bfe0f41259287.jpg?t=1710756596}} 727ee6fc15e8fd143cb2599824a08ca1d005c73a MediaWiki:Gadget-sectionAnchors.js 8 332 543 2024-03-22T19:09:22Z BlackHawk 10 Created page with "/** * Vector HeadAnchors * @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-vector-headanchor.js * @revision 2015-03-07 * * @license http://krinkle.mit-license.org/ * @author Timo Tijhof, 2013–2015 * * See also: * https://www.mediawiki.org/wiki/Requests_for_comment/Clickable_section_anchors * https://phabricator.wikimedia.org/T18691 */ ( function ( $, mw ) { if ( mw.config.get('wgIsMainPage') ) { // Don't run on the main page, where..." javascript text/javascript /** * Vector HeadAnchors * @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-vector-headanchor.js * @revision 2015-03-07 * * @license http://krinkle.mit-license.org/ * @author Timo Tijhof, 2013–2015 * * See also: * https://www.mediawiki.org/wiki/Requests_for_comment/Clickable_section_anchors * https://phabricator.wikimedia.org/T18691 */ ( function ( $, mw ) { if ( mw.config.get('wgIsMainPage') ) { // Don't run on the main page, where we use section headings extensively return } function copyURL () { var $this = $(this), mwconf = mw.config.get(['wgServer', 'wgArticlePath', 'wgPageName']), hash = $this.attr('href'), url = mwconf.wgServer + mwconf.wgArticlePath.replace('$1', mwconf.wgPageName) + hash, txt = document.createElement('textarea'), $txt = $(txt); $txt.text(url).css({ position: 'fixed', top: 0, left: 0, width: '2em', heigh: '2em', padding: 0, border: 'none', outline: 'none', boxShadow: 'none', background: 'transparent' }).appendTo('body'); txt.select(); try { document.execCommand('copy'); $this.addClass('bsw-secanch-copied'); setTimeout(function(){$this.removeClass('bsw-secanch-copied')}, 2500) } catch (err) {} $txt.remove(); } $( '.mw-headline' ).each( function ( i, el ) { var id = el.id, $headline = $( el ), $header = $headline.parent(); // If MediaWiki core's anchor is here, or if ours is here already, skip. if ( !id || $header.find( '.mw-headline-anchor,.mw-headline-headanchor').length ) { return; } $headline.removeAttr('id') $header.addClass( 'mw-header' ).prepend( $( '<a>' ).prop({ id: id, href: '#' + id, title: 'Link to this section', className: 'mw-headline-headanchor' }).click(copyURL) ); } ); }( jQuery, mediaWiki ) ); f348e6f5fb76107727cbc8a0e580601267dde8b3 File:Factions.jpg 6 215 544 381 2024-03-22T19:09:38Z Jayden 3 Jayden moved page [[File:Classes.jpg]] to [[File:Factions.jpg]]: shown as "factions" in https://twitter.com/AndrewCGower/status/1771227689514315873 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Classes.jpg 6 333 545 2024-03-22T19:09:38Z Jayden 3 Jayden moved page [[File:Classes.jpg]] to [[File:Factions.jpg]]: shown as "factions" in https://twitter.com/AndrewCGower/status/1771227689514315873 wikitext text/x-wiki #REDIRECT [[File:Factions.jpg]] 714a7a3a7455e0ab4daffb1ec5fd8de2653c31e4 MediaWiki:Gadget-sectionAnchors.css 8 334 546 2024-03-22T19:10:04Z BlackHawk 10 Created page with "/** * Vector HeadAnchors * @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-vector-headanchor.css * * @license http://krinkle.mit-license.org/ * @author Timo Tijhof, 2013–2014 * * See also: * https://www.mediawiki.org/wiki/Requests_for_comment/Clickable_section_anchors * https://phabricator.wikimedia.org/T18691 */ .mw-header { position: relative; /* Disable Vector's `overflow: hidden` because otherwise our negatively positioned anchor won't be vis..." css text/css /** * Vector HeadAnchors * @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-vector-headanchor.css * * @license http://krinkle.mit-license.org/ * @author Timo Tijhof, 2013–2014 * * See also: * https://www.mediawiki.org/wiki/Requests_for_comment/Clickable_section_anchors * https://phabricator.wikimedia.org/T18691 */ .mw-header { position: relative; /* Disable Vector's `overflow: hidden` because otherwise our negatively positioned anchor won't be visible. By itself, showing overflow would cause two problems: 1. We normally hide overflow for a reason. Namely, to ensure that infoboxes and thumbnails retain their margins and thus things like heading bottom borders will stay away from the edge of these floated boxes. 2. Headanchor needs `position: relative`, which affects stacking context (like z-index). If we don't hide overflow, that means the heading and its border etc will render over top and strike-through any content in the thumbnail and infobox. We solve both of these by bringing back the "create block-formatting context" behaviour of `overflow: hidden` with `display: flex-root`. This isn't supported in all Basic browsers, but good enough for this gadget. Thanks [[User:Tgr]]! */ overflow: visible; display: flow-root; } .mw-headline-headanchor { padding-left: 25px; margin-left: -25px; background-size: 15px; background-repeat: no-repeat; background-position: 50% 50%; } .mw-headline-headanchor, .mw-headline-headanchor:hover, .mw-headline-headanchor:visited { color: inherit; text-decoration: none; } .mw-headline-headanchor:focus { outline: 0; } .mw-header:hover .mw-headline-headanchor, .mw-headline-headanchor:target { background-image: url('filepath://Section anchor light.svg'); } body.wgl-theme-dark .mw-header:hover .mw-headline-headanchor, body.wgl-theme-dark .mw-headline-headanchor:target { background-image: url('filepath://Section anchor dark.svg'); } /** * fix section heading being hidden underneath sticky header * source: <https://css-tricks.com/hash-tag-links-padding/> */ body.wgl-stickyheader.action-view .mw-headline-headanchor:target { display: block; position: relative; bottom: -1.25rem; background-position: left bottom; z-index: -1; } body.wgl-stickyheader.action-view .mw-headline-headanchor:target::before { display: block; content: ''; margin-top: -4rem; height: 4rem; visibility: hidden; pointer-events: none; } /* override [[MediaWiki:Common.less/interface.less]] - sticky header hack uses a different selector when this gadget is disabled */ body.wgl-stickyheader.action-view .mw-headline:target::before { display: none; } /* animate copied anchor link */ .mw-headline-headanchor.bsw-secanch-copied { position: relative; } .mw-headline-headanchor.bsw-secanch-copied:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; animation-name: bswsecanchclick; animation-duration: 1s; animation-timing-function:linear; animation-iteration-count: 1; border-radius: 0.3em; } @keyframes bswsecanchclick { from {background: transparent; border-color:white;} 20% {background:#c3e8a3; border-color:#c3e8a3;} to {} } 3e9d98b9924480a34cb78aa1f0fe8bd464d9ecfe File:Truck Cave.jpg 6 199 547 349 2024-03-22T19:10:10Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_d546e095ffb4254def6933a4cfc3c22ea281f639.jpg?t=1710756596}} aabec5ca5feee0550e620090b53c6486476d736a File:Hopeport Obelisk.jpg 6 212 548 374 2024-03-22T19:10:48Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_a04575cf395e94a7e9528aecbc99380d97c0f4e1.jpg?t=1710756596}} e8bba9227a89b2cbe14eb3da3de32ffc22309eb0 File:Section anchor light.svg 6 335 549 2024-03-22T19:11:12Z BlackHawk 10 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Premium Pass comparison.png 6 336 550 2024-03-22T19:11:31Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Hopeport Obelisk 0 97 551 375 2024-03-22T19:12:15Z Habblet 11 wikitext text/x-wiki [[File:Hopeport Obelisk.jpg|thumb|right|A preview of the Hopeport Obelisk.]] The '''Hopeport Obelisk''' is a location near [[Hopeport]]. It is likely that it will be used as a fast travel location. ==Trivia== * Hopeport Obelisk is featured in the ''[[Brighter Shores]]'' logo. [[Category:Locations]] 8490ef86096b1dcfee5c37a452d2c6dcab5206eb Passive activity 0 200 552 352 2024-03-22T19:12:51Z Jayden 3 Jayden moved page [[Passive Activity]] to [[Passive activity]] wikitext text/x-wiki A '''Passive Activity''' is an activity that will continue to occur while you are logged out. 6223bb882d87106888dac951e15104ad9f21c9ec Passive Activity 0 337 553 2024-03-22T19:12:51Z Jayden 3 Jayden moved page [[Passive Activity]] to [[Passive activity]] wikitext text/x-wiki #REDIRECT [[Passive activity]] cf149ec70384ed0b6cd348ae2ff6414ed1959697 Template:Main Page/Contents 10 46 554 85 2024-03-22T19:13:04Z Jayden 3 wikitext text/x-wiki <noinclude>{{/doc}}</noinclude>__NOTOC__<div class="mainpage-contents tile-row"> <div class="contents-professions tile-halves"> <div class="tile-top tile-image">[[File:Professions.jpg|link=Professions]]</div> <div class="tile-bottom link-button"><h2>[[Professions]]</h2></div> </div> <div class="contents-equipment tile-halves"> <div class="tile-top tile-image">[[File:Factions.jpg|link=Factions]]</div> <div class="tile-bottom link-button"><h2>[[Factions]]</h2></div> </div> <div class="contents-locations tile-halves"> <div class="tile-top tile-image">[[File:Lani's Curiosities.jpg|link=Locations]]</div> <div class="tile-bottom link-button"><h2>[[Locations]]</h2></div> </div> <div class="contents-locations tile-halves"> <div class="tile-top tile-image">[[File:Premium Pass comparison.png|link=Premium Pass]]</div> <div class="tile-bottom link-button"><h2>[[Premium Pass]]</h2></div> </div> </div> e3dcf45217c8dc214a334a7855e5b9be610ab97f Brighter Shores 0 51 555 505 2024-03-22T19:13:23Z Habblet 11 wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024, and will be available for Windows and macOS (Apple Silicon and Intel chipsets). The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An initial two-minute trailer was released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}} The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. Brighter Shores features an ongoing story with hundreds of hours of gameplay.{{CiteGeneral|url=https://store.steampowered.com/app/2791440/Brighter_Shores/|title=Brighter Shores on Steam|author=Valve|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/eYgMA|archivedate=22 March 2024}} Players start their journey in [[Hopeport]], as a member of the town guard. ==Trivia== * The logo of Brighter Shores features [[Hopeport Obelisk]]. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] * [https://brightershores.com/ Official website] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] 015f3631721cc1eaf49a1f4a3f234a7081bef543 MediaWiki:Gadgets-definition 8 6 556 499 2024-03-22T19:13:34Z BlackHawk 10 wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. <!--For scripts that are intended for use on a lot of pages, it may be a good idea to propose it on the [[Forum:Yew Grove|Yew Grove]] first. -->Gadgets which can be enabled/disabled by the user (on [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]]) should have a description created on ''Mediawiki:Gadget-gadgetname''. ==Core== * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js * bsw-util[ResourceLoader|dependencies=mediawiki.util|targets=desktop,mobile|type=general|default|hidden]|bsw-util.js * tooltips[ResourceLoader|type=general|default|hidden]|tooltips.js ==Tools== * batchupload[ResourceLoader|type=general|default|hidden|dependencies=mediawiki.util|rights=upload]|batchupload.js * dropdown[ResourceLoader|type=general|dependencies=mediawiki.util,mediawiki.api|default]|dropdown.js * ezcopy[ResourceLoader|type=general|targets=desktop]|ezcopy.js|ezcopy.css * hotcat[ResourceLoader|rights=upload|type=general]|hotcat.js * QuickDiff[ResourceLoader|type=general|dependencies=mediawiki.Uri,mediawiki.util]|QDmodal.js|QuickDiff.js|QDmodal.css * sectionAnchors[ResourceLoader|type=general|default]|sectionAnchors.js|sectionAnchors.css ==Other== * gadgetLinks[ResourceLoader|type=general|default]|gadgetLinks.js 4763dd5fbdb1e1cfe74f4c9a63544437066fd1af MediaWiki:Gadget-bsw-util 8 338 557 2024-03-22T19:14:52Z BlackHawk 10 Created page with "'''BSW Utilities''': Various utilities and functions to help other gadgets. Functions are available under the ''bswiki'' global variable: ''addCommas'', ''parseTemplate'', ''crossDomain'', ''createOOUIWindow'', ''canSendBrowserNotifs'', ''sendBrowserNotif'', ''hasLocalStorage'', ''qsp'', ''getFileURL'', ''isUsingStickyHeader''." wikitext text/x-wiki '''BSW Utilities''': Various utilities and functions to help other gadgets. Functions are available under the ''bswiki'' global variable: ''addCommas'', ''parseTemplate'', ''crossDomain'', ''createOOUIWindow'', ''canSendBrowserNotifs'', ''sendBrowserNotif'', ''hasLocalStorage'', ''qsp'', ''getFileURL'', ''isUsingStickyHeader''. 974a240743ac2ca48c85c113d1b95de5b64df7a9 Premium Pass 0 76 558 296 2024-03-22T19:15:19Z Jayden 3 wikitext text/x-wiki [[File:Premium Pass comparison.png|thumb|A comparison of some of the Premium Pass features.]] The '''Premium Pass''' is a type of membership that can be purchased using real money. It provides access to a number of new areas and features in [[Brighter Shores]]. While owning the Premium Pass is required to access the benefits, it will not be a recurring subscription.{{CiteGeneral|url=https://www.gamesradar.com/ahead-of-his-new-mmo-runescape-creator-says-games-have-gotten-too-microtransaction-heavy-our-number-one-aim-is-not-monetization-its-players/|title=Ahead of his new MMO, RuneScape creator says games have gotten too microtransaction-heavy: "Our number one aim is not monetization, it's players"|author=Kaan Serin|date=17 March 2024|accessdate=22 March 2024|quote="One of the key differences is we're probably not going to do auto-recurring payments," continues Gower.}} ==Benefits== There are several benefits to purchasing a Premium Pass: * Access to the [[Mine of Mantuban]] and [[Crenopolis]] * Ability to choose a unique character name, and change your name at any point * Access to exclusive armour dyes * Ability to [[trade]] with other [[player]]s ==References== {{Reflist}} {{Premium Pass}} [[Category:Community]] 01f0173f1bb039c104cd08b2571af756d0e7cea8 File:Fisher.jpg 6 201 559 353 2024-03-22T19:16:25Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_a4ca0fe6babe443f2394c1d9b8527028c2b1649c.jpg?t=1710756596}} b8e6416585232667aa9ae9e7114fd8903aad54d3 MediaWiki:Gadget-bsw-util.js 8 339 560 2024-03-22T19:16:33Z BlackHawk 10 Created page with "(function ($, mw, bs) { 'use strict'; function createOOUIWindowManager() { if (window.OOUIWindowManager == undefined) { window.OOUIWindowManager = new OO.ui.WindowManager(); $( 'body' ).append( window.OOUIWindowManager.$element ); } return window.OOUIWindowManager; } /** * Reusable functions * * These are available under the `rswiki` global variable. * @example `rswiki.addCommas` * The alias `rs` is also avai..." javascript text/javascript (function ($, mw, bs) { 'use strict'; function createOOUIWindowManager() { if (window.OOUIWindowManager == undefined) { window.OOUIWindowManager = new OO.ui.WindowManager(); $( 'body' ).append( window.OOUIWindowManager.$element ); } return window.OOUIWindowManager; } /** * Reusable functions * * These are available under the `rswiki` global variable. * @example `rswiki.addCommas` * The alias `rs` is also available in place of `rswiki`. */ var util = { /** * Formats a number string with commas. * * @todo fully replace this with Number.protoype.toLocaleString * > 123456.78.toLocaleString('en') * * @example 123456.78 -> 123,456.78 * * @param num {Number|String} The number to format. * @return {String} The formated number. */ addCommas: function (num) { if (typeof num === 'number') { return num.toLocaleString('en'); } // @todo chuck this into parseFloat first and then to toLocaleString? num += ''; var x = num.split('.'), x1 = x[0], x2 = x.length > 1 ? '.' + x[1] : '', rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1,$2'); } return x1 + x2; }, /** * Extracts parameter-argument pairs from templates. * * @todo Fix for multiple templates * * @param tpl {String} Template to extract data from. * @param text {String} Text to look for template in. * @return {Object} Object containing parameter-argument pairs */ parseTemplate: function (tpl, text) { var rgx = new RegExp( '\\{\\{(template:)?' + tpl.replace(/[ _]/g, '[ _]') + '\\s*(\\||\\}\\})', 'i' ), exec = rgx.exec(text), // splits template into |arg=param or |param paramRgx = /\|(.*?(\{\{.+?\}\})?)(?=\s*\||$)/g, args = {}, params, i, j; // happens if the template is not found in the text if (exec === null) { return false; } text = text.substring(exec.index + 2); // used to account for nested templates j = 0; // this purposefully doesn't use regex // as it became very difficult to make it work properly for (i = 0; i < text.length; i += 1) { if (text[i] === '{') { j += 1; } else if (text[i] === '}') { if (j > 0) { j -= 1; } else { break; } } } // cut off where the template ends text = text.substring(0, i); // remove template name as we're not interested in it past this point text = text.substring(text.indexOf('|')).trim(); // separate params and args into an array params = text.match(paramRgx); // handle no params/args if (params !== null) { // used as an index for unnamed params i = 1; params.forEach(function (el) { var str = el.trim().substring(1), eq = str.indexOf('='), tpl = str.indexOf('{{'), param, val; // checks if the equals is after opening a template // to catch unnamed args that have templates with named args as params if (eq > -1 && (tpl === -1 || eq < tpl)) { param = str.substring(0, eq).trim().toLowerCase(); val = str.substring(eq + 1).trim(); } else { param = i; val = str.trim(); i += 1; } args[param] = val; }); } return args; }, /** * Helper for making cross domain requests to RuneScape's APIs. * If the APIs ever enable CORS, we can ditch this and do the lookup directly. * * @param url {string} The URL to look up * @param via {string} One of 'anyorigin', 'whateverorigin' or 'crossorigin'. Defaults to 'anyorigin'. * * @return {string} The URLto use to make the API request. */ crossDomain: function (url, via) { switch (via) { case 'crossorigin': url = 'http://crossorigin.me/' + url; break; case 'whateverorigin': url = 'http://whateverorigin.org/get?url=' + encodeURIComponent( url ) + '&callback=?'; break; case 'anyorigin': default: url = 'http://anyorigin.com/go/?url=' + encodeURIComponent( url ) + '&callback=?'; break; } return url; }, /** * Returns the OOUI window manager as a Promise. Will load OOUI (core and windows) and create the manager, if necessary. * * @return {jQuery.Deferred} A jQuery Promise where window.OOUIWindowManager is will be defined * Chaining a .then will pass OOUIWindowManager to the function argument */ withOOUIWindowManager: function() { return mw.loader.using(['oojs-ui-core','oojs-ui-windows']).then(createOOUIWindowManager); }, /** * Helper for creating and initializing a new OOUI Dialog object * After init, the window is added to the global Window Manager. * * Will automatically load OOUI (core and windows) and create the window manager, if necessary. window.OOUIWindowManager will be defined within this. * * @author Jayden * * @param name {string} The symbolic name of the window * @param title {string} The title of the window * @param winconfig {object} Object containing params for the OO.ui.Dialog obj * @param init {function} Function to be called to initialise the object * @param openNow {boolean} Whether the window should be opened instantly * @param autoClose {boolean} Autoclose when the user clicks outside of the modal * * @return {jquery.Deferred} The jQuery Promise returned by mw.loader.using * Chaining a .then will pass the created {OO.ui.Dialog} object as the function argument */ createOOUIWindow: function(name, title, winconfig, init, openNow, autoClose) { return mw.loader.using(['oojs-ui-core','oojs-ui-windows']).then(function(){ createOOUIWindowManager(); winconfig = winconfig || {}; function myModal( config ) { myModal.super.call( this, config ); } OO.inheritClass( myModal, OO.ui.Dialog ); myModal.static.name = name; myModal.static.title = title; myModal.prototype.initialize = function () { myModal.super.prototype.initialize.call( this ); init(this); } var modal = new myModal(winconfig); console.debug('Adding ' + myModal.static.name + ' to WindowManager'); window.OOUIWindowManager.addWindows( [ modal ] ); if (openNow) { window.OOUIWindowManager.openWindow(name); } if (autoClose) { $(document).on('click', function (e) { if (modal && modal.isVisible() && e.target.classList.contains('oo-ui-window-active')) { modal.close(); }; }); } return modal; }); }, /** * Helper for checking if the user's browser supports desktop notifications * @author Jayden */ canSendBrowserNotifs: function () { if (!("Notification" in window)) { console.warn("This browser does not support desktop notifications"); return false; } else { return true; } }, /** * Send a desktop/browser notification to a user, requires the page to be open * @author Jayden * * @param https://developer.mozilla.org/en-US/docs/Web/API/Notification/Notification * * @return Notification object or null */ sendBrowserNotif: function (title, opts) { if (rs.canSendBrowserNotifs == false) { return null; } Notification.requestPermission().then(function(result) { if (result === "granted") { console.debug('Firing desktop notification'); var notif = new Notification(title, opts); notif.onclick = function(e) { window.focus(); } return notif; } else { return null; } }); }, /** * Check if the browser has support for localStorage * @author Jayden * * @return boolean **/ hasLocalStorage: function() { try { localStorage.setItem('test', 'test') localStorage.removeItem('test') return true } catch (e) { return false } }, /** * Gets a query string parameter from given URL or current href * @author Jayden * * @return string or null **/ qsp: function(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, '\\$&'); var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, ' ')); }, /** * Get the URL for a file on the wiki, aganst the endpoint that is actually cached and fast. * Should probably not be used for images we expect to change frequently. * @author cookmeplox * * @return string **/ getFileURLCached: function(filename) { var base = window.location.origin; filename = filename.replace(/ /g,"_") filename = filename.replace(/\(/g, '%28').replace(/\)/g, '%29') var cb = '48781'; return base + '/images/' + filename + '?' + cb; }, isUsingStickyHeader: function() { return ($('body').hasClass('wgl-stickyheader')) } }; function init() { $.extend(bs, util, {}); // add bs as a global alias window.bs = bs; } init(); }(this.jQuery, this.mediaWiki, this.bswiki = this.bswiki || {})); 718acb2a85cf9ea678a31731c86bdf6649f1ccb1 File:Quiet Grove.jpg 6 213 561 377 2024-03-22T19:16:55Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_c4d96a9494f98071aab1cf9afbe8fbf00896096c.jpg?t=1710756596}} 6b16b49090068261002d4bee2a7d0c47293040ec File:Melv's Fishing Supplies.jpg 6 180 562 318 2024-03-22T19:17:16Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_25b5b0d3bbc61e6f2d045812b8b1f6895d7ce52f.jpg?t=1710756596}} 1531d07f45243d878995e6126095242f21f76707 File:Southeast Sewer.jpg 6 214 563 379 2024-03-22T19:17:43Z Habblet 11 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_4afca68f498d0ec6ad879617f365d6a29ca838ee.jpg?t=1710756596}} 2aad74e2af9201ea01b10903423996007010dc40 Cryoknight 0 69 564 334 2024-03-22T19:20:04Z wikitext text/x-wiki '''Cryoknight''' is a [[faction]] which specialises in using melee weapons in [[combat]]. {{Classes}} 6cbbeeb8549416e7b037b3fd8ed8f6dd8a6e7dcf MediaWiki:Gadget-QuickDiff.js 8 340 565 2024-03-22T19:20:18Z Habblet 11 Created page with "/* <nowiki> QuickDiff - quickly view any diff link Modified to remove Wikia-specific i18n code, relies on [[MediaWiki:Gadget-QDmodal.js]] @author OneTwoThreeFall @source <https://dev.fandom.com/wiki/QuickDiff> @source <https://dev.fandom.com/wiki/MediaWiki:QuickDiff/code.js> */ /*jslint browser, long */ /*global jQuery, mediaWiki, dev */ (function ($, mw) { "use strict"; // double-run protection if (window.quickDiffLoaded) { re..." javascript text/javascript /* <nowiki> QuickDiff - quickly view any diff link Modified to remove Wikia-specific i18n code, relies on [[MediaWiki:Gadget-QDmodal.js]] @author OneTwoThreeFall @source <https://dev.fandom.com/wiki/QuickDiff> @source <https://dev.fandom.com/wiki/MediaWiki:QuickDiff/code.js> */ /*jslint browser, long */ /*global jQuery, mediaWiki, dev */ (function ($, mw) { "use strict"; // double-run protection if (window.quickDiffLoaded) { return; } window.quickDiffLoaded = true; var diffStylesModule = "mediawiki.action.history.diff"; var modal; var special = {}; // "Special:Diff/12345" and "Special:ComparePages" link detection function initSpecialPageStrings() { special.diffDefault = mw.util.getUrl("Special:Diff/"); special.compareDefault = mw.util.getUrl("Special:ComparePages"); var wiki = mw.config.get("wgDBname"); var storageKeyDiff = "QuickDiff-specialdiff_" + wiki; var storageKeyCompare = "QuickDiff-specialcompare_" + wiki; try { special.diff = localStorage.getItem(storageKeyDiff); special.compare = localStorage.getItem(storageKeyCompare); } catch (ignore) {} if (special.diff && special.compare) { // using stored values - no need for api request return; } $.getJSON(mw.util.wikiScript("api"), { action: "parse", format: "json", prop: "text", text: "<span class='diff'>[[Special:Diff/]]</span><span class='compare'>[[Special:ComparePages]]</span>", disablepp: "" // note: deprecated in MW 1.26, but needed for older versions }).done(function (data) { var $parsed = $(data.parse.text["*"]); special.diff = $parsed.find(".diff > a").attr("href"); special.compare = $parsed.find(".compare > a").attr("href"); try { localStorage.setItem(storageKeyDiff, special.diff); localStorage.setItem(storageKeyCompare, special.compare); } catch (ignore) {} }); } function getDiffTitle($diff) { var prevTitle = $diff.find("#mw-diff-otitle1 a").attr("title"); var currTitle = $diff.find("#mw-diff-ntitle1 a").attr("title"); if (prevTitle && prevTitle !== currTitle) { return "Differences between " + prevTitle + " and " + currTitle; } return "Differences: " + currTitle; } function loadDiff(url) { modal.show({ loading: true, title: !modal.visible && "Loading..." }); // add 'action=render' and 'diffonly' params to save some bytes on each request url.extend({ action: "render", diffonly: "1" }); // pass through 'bot' param for rollback links if it's in use on the current page if (mw.util.getParamValue("bot")) { url.extend({bot: "1"}); } $.when( $.get(url.getRelativePath()), mw.loader.using(diffStylesModule) ).always(function (response) { delete url.query.action; delete url.query.diffonly; delete url.query.bot; var data = { buttons: [{ text: "open link", href: url.toString(), attr: {"data-disable-quickdiff": ""} }] }; var $diff; if (typeof response[0] === "string") { var $content = $(response[0]); $diff = $content.filter("table.diff, #mw-rev-deleted-no-diff"); if (!$diff.length) { // $content is a complete page - see if a diff can be found // needed for diffs from special pages as they ignore action=render URL parameter $diff = $content.find("table.diff"); } } if ($diff && $diff.length) { data.content = $diff; data.hook = "quickdiff.ready"; data.title = getDiffTitle($diff); } else { data.content = "Something went wrong while getting the page at " + url.toString() + "."; } modal.show(data); }); } function linkClickHandler(event) { // ignore clicks with modifier keys to avoid overriding browser features if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) { return; } // ignore click if link has "data-disable-quickdiff" attribute set if (event.currentTarget.dataset.disableQuickdiff !== undefined) { return; } var url = event.currentTarget.href; try { url = new mw.Uri(url); } catch (ignore) { // quit if url couldn't be parsed // it wouldn't be a link QuickDiff could handle anyway return; } // cross-domain requests not supported if (url.host !== location.hostname) { return; } // no fragment check is to ensure section links/collapsible trigger links on diff pages are ignored var hasDiffParam = url.query.diff !== undefined && url.fragment === undefined; var isSpecialDiffLink = url.path.indexOf(special.diff) === 0 || url.path.indexOf(special.diffDefault) === 0; var isSpecialCompareLink = url.path.indexOf(special.compare) === 0 || url.path.indexOf(special.compareDefault) === 0; if (hasDiffParam || isSpecialDiffLink || isSpecialCompareLink) { event.preventDefault(); loadDiff(url); } } function init() { modal = new mw.libs.QDmodal("quickdiff-modal"); // full screen modal mw.util.addCSS("#quickdiff-modal { height: 100%; width: 100% }"); // diff styles module was renamed in MW 1.28 if (mw.loader.getState("mediawiki.diff.styles")) { diffStylesModule = "mediawiki.diff.styles"; } // attach to body for compatibility with ajax-loaded content // also, one attached event handler is better than hundreds! $(document.body).on("click.quickdiff", "a[href]", linkClickHandler); initSpecialPageStrings(); } init(); // collect action links (edit, undo, rollback, patrol) and add them to footer mw.hook("quickdiff.ready").add(function (modal) { // edit/undo links use "mw-rev-head-action" class on Wikia, // and "mw-diff-edit" or "-undo" class on MW 1.24+ var $buttons = modal.$content.find(".diff-ntitle").find( ".mw-rev-head-action, .mw-diff-edit, .mw-diff-undo, .mw-rollback-link, .patrollink" ).clone(); // remove text nodes (the brackets around each link) $buttons.contents().filter(function (ignore, element) { return element.nodeType === 3; }).remove(); $buttons.find("a") .addClass("qdmodal-button") .attr("target", "_blank"); modal.$footer.append($buttons); }); }(jQuery, mediaWiki)); 8efd1feee50b2323a852baa909c717bcee90be81 MediaWiki:Gadgets-definition 8 6 566 556 2024-03-22T19:21:53Z BlackHawk 10 wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. <!--For scripts that are intended for use on a lot of pages, it may be a good idea to propose it on the [[Forum:Yew Grove|Yew Grove]] first. -->Gadgets which can be enabled/disabled by the user (on [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]]) should have a description created on ''Mediawiki:Gadget-gadgetname''. ==Core== * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js * bsw-util[ResourceLoader|dependencies=mediawiki.util|targets=desktop,mobile|type=general|default|hidden]|bsw-util.js * tooltips[ResourceLoader|type=general|default|hidden]|tooltips.js ==Tools== * batchupload[ResourceLoader|type=general|default|hidden|dependencies=mediawiki.util|rights=upload]|batchupload.js * contributions[ResourceLoader|type=general|default|dependencies=ext.gadget.rsw-util]|contributions.js * dropdown[ResourceLoader|type=general|dependencies=mediawiki.util,mediawiki.api|default]|dropdown.js * editCount[ResourceLoader|type=general|dependencies=ext.gadget.rsw-util]|editCount.js * ezcopy[ResourceLoader|type=general|targets=desktop]|ezcopy.js|ezcopy.css * hotcat[ResourceLoader|rights=upload|type=general]|hotcat.js * Message-names[ResourceLoader|rights=editinterface|type=general|dependencies=mediawiki.util]|Message-names.js * newPage[ResourceLoader|default|type=general|dependencies=ext.gadget.rsw-util|rights=createpage]|newPage.js * purge[ResourceLoader|default|type=general|dependencies=ext.gadget.rsw-util,ext.smw.purge,mediawiki.api|hidden]|purge.js * QuickDiff[ResourceLoader|type=general|dependencies=mediawiki.Uri,mediawiki.util]|QDmodal.js|QuickDiff.js|QDmodal.css * ReferenceTooltips[ResourceLoader|default|actions=view|type=general|dependencies=ext.gadget.rsw-util]|ReferenceTooltips.js|ReferenceTooltips.css * sectionAnchors[ResourceLoader|type=general|default]|sectionAnchors.js|sectionAnchors.css ==Other== * gadgetLinks[ResourceLoader|type=general|default]|gadgetLinks.js 7a20beef2e592d531dcffd958b0aa43418358e00 567 566 2024-03-22T19:25:26Z BlackHawk 10 wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. <!--For scripts that are intended for use on a lot of pages, it may be a good idea to propose it on the [[Forum:Yew Grove|Yew Grove]] first. -->Gadgets which can be enabled/disabled by the user (on [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]]) should have a description created on ''Mediawiki:Gadget-gadgetname''. ==Core== * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js * bsw-util[ResourceLoader|dependencies=mediawiki.util|targets=desktop,mobile|type=general|default|hidden]|bsw-util.js * tooltips[ResourceLoader|type=general|default|hidden]|tooltips.js ==Tools== * batchupload[ResourceLoader|type=general|default|hidden|dependencies=mediawiki.util|rights=upload]|batchupload.js * contributions[ResourceLoader|type=general|default|dependencies=ext.gadget.bsw-util]|contributions.js * dropdown[ResourceLoader|type=general|dependencies=mediawiki.util,mediawiki.api|default]|dropdown.js * editCount[ResourceLoader|type=general|dependencies=ext.gadget.bsw-util]|editCount.js * ezcopy[ResourceLoader|type=general|targets=desktop]|ezcopy.js|ezcopy.css * hotcat[ResourceLoader|rights=upload|type=general]|hotcat.js * Message-names[ResourceLoader|rights=editinterface|type=general|dependencies=mediawiki.util]|Message-names.js * newPage[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util|rights=createpage]|newPage.js * purge[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util,ext.smw.purge,mediawiki.api|hidden]|purge.js * QuickDiff[ResourceLoader|type=general|dependencies=mediawiki.Uri,mediawiki.util]|QDmodal.js|QuickDiff.js|QDmodal.css * ReferenceTooltips[ResourceLoader|default|actions=view|type=general|dependencies=ext.gadget.bsw-util]|ReferenceTooltips.js|ReferenceTooltips.css * sectionAnchors[ResourceLoader|type=general|default]|sectionAnchors.js|sectionAnchors.css ==Other== * gadgetLinks[ResourceLoader|type=general|default]|gadgetLinks.js 1a72e44b384154d6666adf7256bc3fac7198af6d 587 567 2024-03-22T19:33:54Z BlackHawk 10 wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. <!--For scripts that are intended for use on a lot of pages, it may be a good idea to propose it on the [[Forum:Yew Grove|Yew Grove]] first. -->Gadgets which can be enabled/disabled by the user (on [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]]) should have a description created on ''Mediawiki:Gadget-gadgetname''. ==Core== * autosort[ResourceLoader|type=general|dependencies=ext.gadget.bsw-util,ext.gadget.highlightTable|targets=desktop,mobile|default]|autosort.js * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js * bsw-util[ResourceLoader|dependencies=mediawiki.util|targets=desktop,mobile|type=general|default|hidden]|bsw-util.js * tooltips[ResourceLoader|type=general|default|hidden]|tooltips.js * uncheckfileredirects[ResourceLoader|type=general|rights=suppressredirect|default|hidden]|UncheckFileRedirect.js ==Tools== * batchupload[ResourceLoader|type=general|default|hidden|dependencies=mediawiki.util|rights=upload]|batchupload.js * contributions[ResourceLoader|type=general|default|dependencies=ext.gadget.bsw-util]|contributions.js * dropdown[ResourceLoader|type=general|dependencies=mediawiki.util,mediawiki.api|default]|dropdown.js * editCount[ResourceLoader|type=general|dependencies=ext.gadget.bsw-util]|editCount.js * ezcopy[ResourceLoader|type=general|targets=desktop]|ezcopy.js|ezcopy.css * hotcat[ResourceLoader|rights=upload|type=general]|hotcat.js * Message-names[ResourceLoader|rights=editinterface|type=general|dependencies=mediawiki.util]|Message-names.js * newPage[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util|rights=createpage]|newPage.js * purge[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util,ext.smw.purge,mediawiki.api|hidden]|purge.js * QuickDiff[ResourceLoader|type=general|dependencies=mediawiki.Uri,mediawiki.util]|QDmodal.js|QuickDiff.js|QDmodal.css * ReferenceTooltips[ResourceLoader|default|actions=view|type=general|dependencies=ext.gadget.bsw-util]|ReferenceTooltips.js|ReferenceTooltips.css * sectionAnchors[ResourceLoader|type=general|default]|sectionAnchors.js|sectionAnchors.css ==Other== * gadgetLinks[ResourceLoader|type=general|default]|gadgetLinks.js 9b2e9f08fb03db5aa570696d1d372f5b4196956f MediaWiki:Gadget-contributions 8 341 568 2024-03-22T19:25:44Z BlackHawk 10 Created page with "'''Contributions''': Adds a tab in the top left linking to a user's contributions" wikitext text/x-wiki '''Contributions''': Adds a tab in the top left linking to a user's contributions dc4b5e70b0551a55757afe74e4d2eee846cb3c52 MediaWiki:Gadget-contributions.js 8 342 569 2024-03-22T19:26:14Z BlackHawk 10 Created page with "/** * Adds a contribution link on User, User talk and Contributions as a PortletLink * @author Jr_Mime */ (function ($, mw, bs) { $( document ).ready(function() { if (mw.config.get('wgNamespaceNumber') === 2 || mw.config.get('wgNamespaceNumber') === 3) { mw.util.addPortletLink( 'p-namespaces', mw.util.getUrl('Special:Contributions/' + mw.config.get('wgRelevantUserName')), 'Contributions', 'ca-nstab-contributions', 'Clic..." javascript text/javascript /** * Adds a contribution link on User, User talk and Contributions as a PortletLink * @author Jr_Mime */ (function ($, mw, bs) { $( document ).ready(function() { if (mw.config.get('wgNamespaceNumber') === 2 || mw.config.get('wgNamespaceNumber') === 3) { mw.util.addPortletLink( 'p-namespaces', mw.util.getUrl('Special:Contributions/' + mw.config.get('wgRelevantUserName')), 'Contributions', 'ca-nstab-contributions', 'Click to open the user\'s contributions' ); } }); })(jQuery, mediaWiki, bswiki); 265f368c1d46ef4eacc8192482d023e8cabb0e79 MediaWiki:Gadget-editCount 8 343 570 2024-03-22T19:26:34Z BlackHawk 10 Created page with "'''EditCount''': View a user's editcount from their profile, talk page or contributions" wikitext text/x-wiki '''EditCount''': View a user's editcount from their profile, talk page or contributions a7caa1e17b646bac2e82aecc17b1b71de315cfe3 MediaWiki:Gadget-editCount.js 8 344 571 2024-03-22T19:27:25Z BlackHawk 10 Created page with "/** * Adds total edit count on User, User talk and Contributions as a PortletLink * @author Jr_Mime */ (function ($, mw, bs) { $( document ).ready(function() { if (mw.config.get('wgNamespaceNumber') === 2 || mw.config.get('wgNamespaceNumber') === 3 || mw.config.get("wgCanonicalSpecialPageName") == "Contributions") { var user = mw.config.get('wgRelevantUserName'); mw.util.addPortletLink( 'p-namespaces', mw.util.getUrl('Special:EditCount/' +..." javascript text/javascript /** * Adds total edit count on User, User talk and Contributions as a PortletLink * @author Jr_Mime */ (function ($, mw, bs) { $( document ).ready(function() { if (mw.config.get('wgNamespaceNumber') === 2 || mw.config.get('wgNamespaceNumber') === 3 || mw.config.get("wgCanonicalSpecialPageName") == "Contributions") { var user = mw.config.get('wgRelevantUserName'); mw.util.addPortletLink( 'p-namespaces', mw.util.getUrl('Special:EditCount/' + user), '.. edits', 'ca-nstab-editcount', 'Click to open the user\'s full editcount' ); $.post("/w/Special:EditCount/" + user).done(function (data) { if (!$(data).find("#editcount > table > tbody > tr:nth-child(2) > td:nth-child(2) > table > tbody > tr:nth-child(1) > th:nth-child(2)").length) { $("#ca-nstab-editcount").css("display","none"); return; } else { $("#ca-nstab-editcount > a").text($(data).find("#editcount > table > tbody > tr:nth-child(2) > td:nth-child(2) > table > tbody > tr:nth-child(1) > th:nth-child(2)").text() + ' edits') } }); } }); })(jQuery, mediaWiki, bswiki); 6861e110bbb9cf57034eea6348945ea5694fbf3b MediaWiki:Gadget-newPage 8 347 574 2024-03-22T19:28:43Z BlackHawk 10 Created page with "'''NewPage''': Add a "Make new page" link to the sidebar" wikitext text/x-wiki '''NewPage''': Add a "Make new page" link to the sidebar 5c446ef0555ebb417c55697289ca414896541815 MediaWiki:Gadget-newPage.js 8 348 575 2024-03-22T19:29:10Z BlackHawk 10 Created page with ";(function($, mw, bs){ var $button, $window; function createWindow(modal){ modal.content = new OO.ui.PanelLayout({ padded: true, expanded: false }); var pagenameInput = new OO.ui.TextInputWidget({placeholder: 'full page name including namespace', type: 'text', id: 'gadget-newpage-pagename'}); var submitButton = new OO.ui.ButtonInputWidget({ label: 'Create', flags: ['primary', 'progressive']}); var cancelButton = new OO.ui.ButtonInputWidget({ label: 'Cancel',..." javascript text/javascript ;(function($, mw, bs){ var $button, $window; function createWindow(modal){ modal.content = new OO.ui.PanelLayout({ padded: true, expanded: false }); var pagenameInput = new OO.ui.TextInputWidget({placeholder: 'full page name including namespace', type: 'text', id: 'gadget-newpage-pagename'}); var submitButton = new OO.ui.ButtonInputWidget({ label: 'Create', flags: ['primary', 'progressive']}); var cancelButton = new OO.ui.ButtonInputWidget({ label: 'Cancel', flags: 'destructive'}); var submitAction = function(modal) { var page = pagenameInput.getValue(); if (page == '') return; var url = mw.util.getUrl(page, {action: 'edit'}); window.location.assign(url); }; submitButton.on('click', submitAction); pagenameInput.on('enter', submitAction); cancelButton.on('click', function(modal){window.OOUIWindowManager.closeWindow(modal);}, [modal]); var fieldset = new OO.ui.FieldsetLayout({}); fieldset.addItems([ new OO.ui.FieldLayout(pagenameInput, { label: 'Page name', help: 'Full page name of the page to created, including namespace' }) ]); modal.content.$element.append(fieldset.$element, '<br>', cancelButton.$element, submitButton.$element); modal.$body.append(modal.content.$element); } function openWindow(e){ e.preventDefault(); if ($window == undefined) { bs.createOOUIWindow('gadget-newpage-window', 'Create new page', {}, createWindow, true).then(function(w){ $window = w; }); } else { window.OOUIWindowManager.openWindow('gadget-newpage-window'); } } function init(){ $button = $('<li>').attr('id', 't-gadget-newpage').append($('<a>').attr('href', '#').text('Make new page')); $button.click(openWindow); $('#p-tb .vector-menu-content ul').append($button); } $(init); })(window.$, window.mw, window.bswiki); ec4be87025091b6a3f865ab4d46a9c541f52a5a9 MediaWiki:Gadget-purge 8 349 576 2024-03-22T19:29:33Z BlackHawk 10 Created page with "'''Purge''': Purge button function, performs a null edit instead of an ''ext.smw.purge''" wikitext text/x-wiki '''Purge''': Purge button function, performs a null edit instead of an ''ext.smw.purge'' 2f5273f43f15804216c8dad9d06ffb6ba2db79ef MediaWiki:Gadget-purge.js 8 350 577 2024-03-22T19:30:05Z BlackHawk 10 Created page with "(function($, mw, bs){ function purgePage(e) { mw.notify("The page is now purging and will refresh when it is ready.", { title: 'Purging', tag: 'purge', autoHide: false }); (new mw.Api()).post({ action: 'purge', titles: mw.config.get('wgPageName') }).then(function(){ window.location.reload(); }, function(){ var uri = new mw.Uri(); uri.query.action = 'purge'; mw.notify($.parseHTML('Purging the page failed. Please try again or <a href="'+uri.toStr..." javascript text/javascript (function($, mw, bs){ function purgePage(e) { mw.notify("The page is now purging and will refresh when it is ready.", { title: 'Purging', tag: 'purge', autoHide: false }); (new mw.Api()).post({ action: 'purge', titles: mw.config.get('wgPageName') }).then(function(){ window.location.reload(); }, function(){ var uri = new mw.Uri(); uri.query.action = 'purge'; mw.notify($.parseHTML('Purging the page failed. Please try again or <a href="'+uri.toString()+'">do so manually</a>.'), { title: 'Purging failed', tag: 'purge', type: 'error', autoHide:false }); }); e.preventDefault(); } function init() { $('.jsPurgeLink').click(purgePage); $('.jsPurgeLink > a').attr({'href': '#', target: ''}); } $(init); }(jQuery, mediaWiki, bswiki)); 1b52f02fc6220a95e63f83e5334a3490b47a7bb3 F2p 0 352 579 2024-03-22T19:30:35Z Jayden 3 Redirected page to [[Account]] wikitext text/x-wiki #REDIRECT [[Account]] 5f20baff5973687c490bb806036ec42df668592c P2p 0 353 580 2024-03-22T19:30:47Z Jayden 3 Redirected page to [[Premium Pass]] wikitext text/x-wiki #REDIRECT [[Premium Pass]] bf43d4c5096a873a9dbfe78f0c617b2e6ff6d2df Class 0 171 581 308 2024-03-22T19:31:07Z Jayden 3 Changed redirect target from [[Classes]] to [[Factions]] wikitext text/x-wiki #REDIRECT [[Factions]] 7e69f77fb2cf8770075a36e2a256a08c5a03766a Faction 0 355 583 2024-03-22T19:31:48Z Jayden 3 Redirected page to [[Factions]] wikitext text/x-wiki #REDIRECT [[Factions]] 7e69f77fb2cf8770075a36e2a256a08c5a03766a Guardian 0 70 584 335 2024-03-22T19:32:03Z Jayden 3 wikitext text/x-wiki '''Guardian''' is a [[faction]] which specialises in using ranged weapons in [[combat]]. {{Classes}} bc2ae45c5396666aa254aa4e19244dc002097e4b Hammermage 0 71 586 336 2024-03-22T19:32:11Z Jayden 3 wikitext text/x-wiki '''Hammermage''' is a [[faction]] which specialises in using magic weapons in [[combat]]. {{Classes}} c671a1f9b7750bb87e7d4f14e8ff1234985053db MediaWiki:Gadget-autosort 8 357 588 2024-03-22T19:34:22Z BlackHawk 10 Created page with "'''Autosort''': Autosorts tables with the ''sortable'' and ''autosort=#'' class. Uses ''jquery.tablesorter''. Sort order defaults as ascending but adding ''autosort=#,d'' makes the order descending." wikitext text/x-wiki '''Autosort''': Autosorts tables with the ''sortable'' and ''autosort=#'' class. Uses ''jquery.tablesorter''. Sort order defaults as ascending but adding ''autosort=#,d'' makes the order descending. 58275d4b39e99e776c1450e33c26ce6a0404d4f4 MediaWiki:Gadget-autosort.js 8 358 589 2024-03-22T19:35:07Z BlackHawk 10 Created page with "/** * For autosorting sortable tables * @example <> */ (function($, mw, bs){ var $sortables = $('.sortable[class*="autosort="]'); if (!$sortables.length) return; bs.autosort = function () { mw.loader.using('jquery.tablesorter', function () { $sortables.each(function () { var $this = $(this), matched = (' ' + $(this).attr( 'class') + ' ') .match(/autosort=(\d+)[,-]{1}(a|d)/),..." javascript text/javascript /** * For autosorting sortable tables * @example <> */ (function($, mw, bs){ var $sortables = $('.sortable[class*="autosort="]'); if (!$sortables.length) return; bs.autosort = function () { mw.loader.using('jquery.tablesorter', function () { $sortables.each(function () { var $this = $(this), matched = (' ' + $(this).attr( 'class') + ' ') .match(/autosort=(\d+)[,-]{1}(a|d)/), $sortCol = $this .find('> thead th:nth-child(' + matched[1] + ')'); if (matched[2] === 'd') { // descending $sortCol.click().click(); } else { // ascending $sortCol.click(); } }); mw.hook('gadget.autosort.sorted').fire($sortables); }); }; mw.hook('wikipage.content').add(function init() { if ($('.jquery-tablesorter').length) { bs.autosort(); } else { // tablesorter plugin has not run yet; observe the first // sortable table element and wait for the plugin to add // the 'jquery-tablesorter' class to it new MutationObserver(function(muts, obs) { if (muts[0].target.classList.contains('jquery-tablesorter')) { window.bs.autosort(); obs.disconnect(); } }).observe($sortables[0], { attributes: true, attributeFilter: ['class'], }); } // only run once mw.hook('wikipage.content').remove(init); }); }(jQuery, mediaWiki, bswiki)); b8f51154397b4dd2f0c0415193277af77a2fde78 Template:Main Page/Announcements 10 359 590 2024-03-22T19:35:14Z Jayden 3 Created page with "<noinclude>{{/doc}}</noinclude><div class="mainpage-wikinews tile plainlinks"> <h2>Announcements</h2><!-- Put entries below this line --> ;22 March 2024 : Welcome to the '''brand new wiki''' for Brighter Shores! We're really excited to work together to build the most comprehensive wiki we can for the game, and to be ready for its planned release later this year. : If you would like to help out, please feel free to [[Special:CreateAccount|make an account]] and start editi..." wikitext text/x-wiki <noinclude>{{/doc}}</noinclude><div class="mainpage-wikinews tile plainlinks"> <h2>Announcements</h2><!-- Put entries below this line --> ;22 March 2024 : Welcome to the '''brand new wiki''' for Brighter Shores! We're really excited to work together to build the most comprehensive wiki we can for the game, and to be ready for its planned release later this year. : If you would like to help out, please feel free to [[Special:CreateAccount|make an account]] and start editing! </div> 6b39f556e6cb1c7e8597aa9fa7aaa29616b7ea80 MediaWiki:Gadget-uncheckfileredirects 8 360 591 2024-03-22T19:35:31Z BlackHawk 10 Created page with "'''UncheckFileRedirects''': Defaults file moves to not leave redirects on [[Special:MovePage]]." wikitext text/x-wiki '''UncheckFileRedirects''': Defaults file moves to not leave redirects on [[Special:MovePage]]. 337b4ab1cde1101fb430d192bd7a083cd55e099e MediaWiki:Gadget-UncheckFileRedirect.js 8 361 592 2024-03-22T19:35:47Z BlackHawk 10 Created page with "/* <nowiki> * Unchecks redirect checkbox on file pages * Because redirects in file namespace are usually unnecessary */ ;(function ($, mw) { 'use strict'; var conf = mw.config.get([ 'wgCanonicalSpecialPageName', 'wgTitle' ]); $(function () { if (conf.wgCanonicalSpecialPageName === 'Movepage' && (/File/).test(conf.wgTitle)) { $('#wpLeaveRedirect > input').removeAttr('checked'); } }); }(jQuery, mediaWiki)); // </nowiki>" javascript text/javascript /* <nowiki> * Unchecks redirect checkbox on file pages * Because redirects in file namespace are usually unnecessary */ ;(function ($, mw) { 'use strict'; var conf = mw.config.get([ 'wgCanonicalSpecialPageName', 'wgTitle' ]); $(function () { if (conf.wgCanonicalSpecialPageName === 'Movepage' && (/File/).test(conf.wgTitle)) { $('#wpLeaveRedirect > input').removeAttr('checked'); } }); }(jQuery, mediaWiki)); // </nowiki> 366fb9ab7e6050fd456598df4ce6d7c8d9b25bd9 Main Page 0 4 593 187 2024-03-22T19:36:11Z Jayden 3 wikitext text/x-wiki {{Main Page/Header}} <!-- START BODY CONTENT --> <div class="mainpage-body"> {{Main Page/Contents}} <!-- START LEFT COLUMN --> <div class="mainpage-left"> {{Main Page/Announcements}} <!-- END LEFT COLUMN --> </div> <!-- START RIGHT COLUMN --> <div class="mainpage-right"> <!-- END RIGHT COLUMN --> </div> <!-- END BODY CONTENT --> </div> [[Category:Brighter Shores Wiki]] da6408afc9931d4c200429e7109b40af7e867287 598 593 2024-03-22T19:38:50Z Jayden 3 wikitext text/x-wiki {{Main Page/Header}} <!-- START BODY CONTENT --> <div class="mainpage-body"> {{Main Page/Contents}} <!-- START LEFT COLUMN --> <div class="mainpage-left"> {{Main Page/Announcements}} <!-- END LEFT COLUMN --> </div> <!-- START RIGHT COLUMN --> <div class="mainpage-right"> {{Main Page/Discord}} <!-- END RIGHT COLUMN --> </div> <!-- END BODY CONTENT --> </div> [[Category:Brighter Shores Wiki]] b69ab6d2b86156a348c649d7505ca39d46645fc8 602 598 2024-03-22T19:41:36Z Jayden 3 wikitext text/x-wiki {{Main Page/Header}} <!-- START BODY CONTENT --> <div class="mainpage-body"> {{Main Page/Contents}} <!-- START LEFT COLUMN --> <div class="mainpage-left"> {{Main Page/Announcements}} <!-- END LEFT COLUMN --> </div> <!-- START RIGHT COLUMN --> <div class="mainpage-right"> {{Main Page/Discord}} {{Main Page/Editing}} <!-- END RIGHT COLUMN --> </div> <!-- END BODY CONTENT --> </div> [[Category:Brighter Shores Wiki]] 650623875f60c7f05931f27a9459f51f8abdeb4a 606 602 2024-03-22T19:44:06Z Jayden 3 Changed protection settings for "[[Main Page]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading] wikitext text/x-wiki {{Main Page/Header}} <!-- START BODY CONTENT --> <div class="mainpage-body"> {{Main Page/Contents}} <!-- START LEFT COLUMN --> <div class="mainpage-left"> {{Main Page/Announcements}} <!-- END LEFT COLUMN --> </div> <!-- START RIGHT COLUMN --> <div class="mainpage-right"> {{Main Page/Discord}} {{Main Page/Editing}} <!-- END RIGHT COLUMN --> </div> <!-- END BODY CONTENT --> </div> [[Category:Brighter Shores Wiki]] 650623875f60c7f05931f27a9459f51f8abdeb4a MediaWiki:Gadget-section-Core 8 362 594 2024-03-22T19:36:20Z Habblet 11 Created page with "Core" wikitext text/x-wiki Core 68836c550ee20fae0e06b2994e76a40348d2fc30 File:Discord logo icon.svg 6 363 595 2024-03-22T19:37:08Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 596 595 2024-03-22T19:37:14Z Jayden 3 Protected "[[File:Discord logo icon.svg]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Template:Main Page/Discord 10 364 597 2024-03-22T19:38:16Z Jayden 3 Created page with "<noinclude>{{/doc}}</noinclude><div class="mainpage-discord tile-halves plainlinks"> <div class="tile-top"> <div class="partner-icon">[[File:Discord logo icon.svg|60px|link=]]</div> [https://discord.gg/xawmN4Dcau <div class="arrow nomobile"></div><p class="server-name">Brighter Shores Community</p><p class="server-tagline">Join the community Discord server to discuss everything Brighter Shores!</p>] </div> <div class="tile-bottom"> <p>..." wikitext text/x-wiki <noinclude>{{/doc}}</noinclude><div class="mainpage-discord tile-halves plainlinks"> <div class="tile-top"> <div class="partner-icon">[[File:Discord logo icon.svg|60px|link=]]</div> [https://discord.gg/xawmN4Dcau <div class="arrow nomobile"></div><p class="server-name">Brighter Shores Community</p><p class="server-tagline">Join the community Discord server to discuss everything Brighter Shores!</p>] </div> <div class="tile-bottom"> <p>Community Discord</p> </div> </div> 8a7be2886654c5d1a3cd2809592dd9d62cb570e6 Template:Main Page/Editing 10 365 599 2024-03-22T19:40:29Z Jayden 3 Created page with "<noinclude>{{/doc}}</noinclude><div class="mainpage-editing tile-halves nomobile"> <div class="tile-top"> <h2>Help build the wiki</h2> <p>The Brighter Shores Wiki can be edited by anyone! Just click '''Edit''' at the top of the page if something is missing or incorrect.</p> </div> </div>" wikitext text/x-wiki <noinclude>{{/doc}}</noinclude><div class="mainpage-editing tile-halves nomobile"> <div class="tile-top"> <h2>Help build the wiki</h2> <p>The Brighter Shores Wiki can be edited by anyone! Just click '''Edit''' at the top of the page if something is missing or incorrect.</p> </div> </div> 7ba41616e3d02e0c32cd4e55e48835a53f435a27 600 599 2024-03-22T19:40:41Z Jayden 3 Protected "[[Template:Main Page/Editing]]": used on main page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <noinclude>{{/doc}}</noinclude><div class="mainpage-editing tile-halves nomobile"> <div class="tile-top"> <h2>Help build the wiki</h2> <p>The Brighter Shores Wiki can be edited by anyone! Just click '''Edit''' at the top of the page if something is missing or incorrect.</p> </div> </div> 7ba41616e3d02e0c32cd4e55e48835a53f435a27 File:Wiki background.jpg 6 14 601 110 2024-03-22T19:41:06Z Habblet 11 wikitext text/x-wiki [[Category:Brighter Shores Wiki images]] ab06d2f9f68d83ab0ee7462833ebd031de7f7e0a File:Wiki@2x.png 6 52 603 92 2024-03-22T19:41:56Z Habblet 11 wikitext text/x-wiki [[Category:Brighter Shores Wiki images]] ab06d2f9f68d83ab0ee7462833ebd031de7f7e0a File:Wiki.png 6 53 604 94 2024-03-22T19:42:07Z Habblet 11 wikitext text/x-wiki [[Category:Brighter Shores Wiki images]] ab06d2f9f68d83ab0ee7462833ebd031de7f7e0a File:Section anchor light.svg 6 335 605 549 2024-03-22T19:42:53Z Habblet 11 wikitext text/x-wiki [[Category:Icons]] d7390c506a06325362ace67f96842811f1aae0d2 Locations 0 366 607 2024-03-22T19:49:12Z Jayden 3 Created page with "'''Locations''' are places that exist in the [[Brighter Shores]] game world. ==Locations== * [[Hopeport]] * [[Hopeforest]] * [[Mine of Mantuban]] * [[Crenopolis]] [[Category:Locations]]" wikitext text/x-wiki '''Locations''' are places that exist in the [[Brighter Shores]] game world. ==Locations== * [[Hopeport]] * [[Hopeforest]] * [[Mine of Mantuban]] * [[Crenopolis]] [[Category:Locations]] e5ffad46564e33b776f898271422acf2a450cc8e Location 0 367 608 2024-03-22T19:49:25Z Jayden 3 Redirected page to [[Locations]] wikitext text/x-wiki #REDIRECT [[Locations]] cbb9c6416a23e7cd593e7fd11c62de21a7bd0626 Brighter Shores:Orphanage 4 368 609 2024-03-22T19:49:44Z Habblet 11 Created page with "{{Otheruses|orphaned pages, templates, and files|the policy on article ownership|Brighter Shores:Ownership}} {{Shortcut|BS:ORPHAN|BS:O}} '''Brighter Shores:Orphanage''' is a place where '''orphaned pages and files''' are "stored" to prevent them from appearing in [[Special:LonelyPages]] and [[Special:UnusedFiles]]. <span style="color:red; font-weight:bold">Pages (or images) should not be linked here just because they appear in these special pages, but linked because they..." wikitext text/x-wiki {{Otheruses|orphaned pages, templates, and files|the policy on article ownership|Brighter Shores:Ownership}} {{Shortcut|BS:ORPHAN|BS:O}} '''Brighter Shores:Orphanage''' is a place where '''orphaned pages and files''' are "stored" to prevent them from appearing in [[Special:LonelyPages]] and [[Special:UnusedFiles]]. <span style="color:red; font-weight:bold">Pages (or images) should not be linked here just because they appear in these special pages, but linked because they are "orphans".</span> (See the definition of "orphan" below.) ==What is an orphan?== There are several factors that can classify an article as an orphan: *'''Orphan:''' An article with '''<span style="color:red">fewer than three</span>''' incoming links which meet the criteria for linking below. *'''Isolated article:''' An article that cannot be reached via a series of links from the [[Brighter Shores Wiki|Main Page]]. *'''Walled garden:''' A group of articles that link to each other, but have few or no links to them from any other Brighter Shores Wiki articles. In effect, that group is orphaned. Theoretically, a walled garden could have numerous articles if they all link to each other but no others link to them. *'''Orphaned project page:''' A project page (starting with "Brighter Shores:") with few or no links from other project pages. Essays are most likely to be orphaned. *'''Orphaned image:''' An image not used on Brighter Shores Wiki directly. ==What is the problem with an orphaned article?== '''A company with no advertising will not be known to others, and as a result, will get few if any customers.''' Likewise, orphaned articles, since they have few links to them from other pages, are difficult to find, and are most likely to be found only by chance. Because of this, few people know they exist, and therefore, they get less readership and improvement from those who would be able to improve them. In particular, if the topic is more obscure, this may make it difficult for many to locate. If not for links to a page, the only way such an article can be found is by a person who knows the topic entering it into Brighter Shores Wiki or doing a web search, browsing a category in which it is contained, looking at the edit history of a contributor to the page, or having it show up as a random article. ==Criteria== An article is orphaned if '''<span style="color:red">fewer than three</span>''' other articles link to it. '''Currently our priority is to focus on orphans with NO incoming links at all.''' For the purposes of the strict definition, the following pages do not count toward the three incoming links: *Disambiguation pages *Redirects *Lists *Discussion pages of articles *Pages outside of article space Ideally, except for disambiguation links, '''disambiguation pages should be orphaned'''. The only pages that should link to them are articles bearing the title (via templates such as [[Template:Redirect]]) and "See also" sections of other disambiguation pages (when separate disambiguation pages are created due to long length or variances in the titles). ==List of orphaned articles== A list of orphaned articles can be found at [[Special:LonelyPages]] {{Construction}} ==Disambiguation pages== {{Main|/Disambiguation pages}} '''Disambiguation pages''' are created in order to resolve conflicts in article titles that occur when a single term can be associated with more than one topic, making that term likely to be the natural title for more than one article. In other words, disambiguations are paths leading to different articles which could, in principle, have the same title. ==Templates== A list of orphaned templates can be found here: [[Special:UnusedTemplates]] ===Signatures=== Orphaned signatures can be found here: [[Template:Signatures/List]] ===Miscellaneous templates=== Miscellaneous orphaned templates can be found here: [[Brighter Shores:Orphanage/Templates]] ==Gallery of orphaned files== {{incomplete|Compile all orphaned files, and explain their uses.}} Some files may appear in the [[Special:UnusedFiles|Unused Files]] list if they are not directly used in an article. These files are considered '''orphaned files'''. ===General=== <gallery orientation=landscape> Wiki@2x.png </gallery> ===UI Icons=== UI Icons <gallery> Section anchor light.svg|Anchor icon for section headers </gallery> [[Category:Brighter Shores Wiki projects]] e343a0cbdb4817a57b2fbb1b60a17458f0091c6a Template:Otheruses 10 369 610 2024-03-22T19:50:13Z Habblet 11 Created page with "<includeonly>{{Hatnote|{{#ifeq:{{{def}}}|no|{{#if:{{{1|}}}|For {{{1}}}, see [[{{{2}}}]]. {{#if:{{{3|}}}|For {{{3}}}, see [[{{{4}}}]].}}|For other uses, see [[{{NAMESPACE}}:{{PAGENAME}} (disambiguation)]].}}|This article is about {{{1}}}. {{#if:{{{2|}}}|For {{{2}}}, see [[{{{3}}}]].|For other uses, see [[{{NAMESPACE}}:{{PAGENAME}} (disambiguation)]].}} {{#if:{{{4|}}}|For {{{4}}}, see [[{{{5}}}]].}} {{#if:{{{6|}}}|For {{{6}}}, see [[{{{7}}}]].}}}}}}</includeonly><noinclude..." wikitext text/x-wiki <includeonly>{{Hatnote|{{#ifeq:{{{def}}}|no|{{#if:{{{1|}}}|For {{{1}}}, see [[{{{2}}}]]. {{#if:{{{3|}}}|For {{{3}}}, see [[{{{4}}}]].}}|For other uses, see [[{{NAMESPACE}}:{{PAGENAME}} (disambiguation)]].}}|This article is about {{{1}}}. {{#if:{{{2|}}}|For {{{2}}}, see [[{{{3}}}]].|For other uses, see [[{{NAMESPACE}}:{{PAGENAME}} (disambiguation)]].}} {{#if:{{{4|}}}|For {{{4}}}, see [[{{{5}}}]].}} {{#if:{{{6|}}}|For {{{6}}}, see [[{{{7}}}]].}}}}}}</includeonly><noinclude>{{/doc}}</noinclude> 902288f14a4a2881c7449c66330eab90ce7b33c9 Template:Otheruses/doc 10 370 611 2024-03-22T19:55:36Z Habblet 11 Created page with "{{Documentation}} '''Otheruses''' is used to add disambiguation links at the top of the page. ==Usage== <code><nowiki>{{Otheruses|topic|other topic|first link|another topic|second link}}</nowiki></code> or <code><nowiki>{{Otheruses|def=no|other topic|first link|another topic|second link}}</nowiki></code> Do not use this template on an article with an unambiguous title; for example, a reader who searches specifically for "Andrew Gower (NPC)" is not likely to have bee..." wikitext text/x-wiki {{Documentation}} '''Otheruses''' is used to add disambiguation links at the top of the page. ==Usage== <code><nowiki>{{Otheruses|topic|other topic|first link|another topic|second link}}</nowiki></code> or <code><nowiki>{{Otheruses|def=no|other topic|first link|another topic|second link}}</nowiki></code> Do not use this template on an article with an unambiguous title; for example, a reader who searches specifically for "Andrew Gower (NPC)" is not likely to have been looking for an article about the real life person, so it would ''not'' be appropriate to add {{t|Otheruses|Andrew Gower}} to the top of a hypothetical Andrew Gower (NPC) article. The <code>def=no</code> parameter is optional. ==Example== <code><nowiki>{{Otheruses|Hopeport|the fast travel location|Hopeport Obelisk}}</nowiki></code> gives: {{Otheruses|Hopeport|the fast travel location|Hopeport Obelisk}} <code><nowiki>{{Otheruses|def=no|the fast travel location|Hopeport Obelisk}}</nowiki></code> gives: {{Otheruses|def=no|the fast travel location|Hopeport Obelisk}} <code><nowiki>{{Otheruses|the disambiguation template}}</nowiki></code> {{Otheruses|the disambiguation template}} ==See also== * [[Template:Redirect]] ** [[Template:Redirect2]] ** [[Template:Redirect3]] * [[Template:See also]] * [[wikipedia:Template:Other uses|Template:Other uses]], the template at Wikipedia <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> 2d74baf8b2891cae26f7e1bd0629246e079be6db File:Combat.jpg 6 626 612 2024-03-22T19:55:55Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Template:Hatnote 10 372 613 2024-03-22T19:55:59Z Habblet 11 Created page with "<includeonly>{{#invoke:Hatnote|hatnote}}</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>{{#invoke:Hatnote|hatnote}}</includeonly><noinclude>{{/doc}}</noinclude> d9029e1bc2de056708cda99e6ce883644c1661e4 Engine 0 373 614 2024-03-22T19:56:21Z Jayden 3 Redirected page to [[Fenforge]] wikitext text/x-wiki #REDIRECT [[Fenforge]] b5155044fb0ab6fa9bf8f7f5dc061420ed4aedfc Template:Hatnote/doc 10 374 615 2024-03-22T19:57:19Z Habblet 11 Created page with "{{documentation}} The '''hatnote''' template produces formatted text for the purpose of redirecting the reader to another page if needed. It adds the <kbd>hatnote</kbd> class which indents and italicises the text and the <kbd>navigation-not-searchable</kbd> class which excludes the content from search snippets in [[Special:Search]]. Generally the template should not be used directly on articles, instead one of the following templates can be used: * {{T|Otheruses}} * {{..." wikitext text/x-wiki {{documentation}} The '''hatnote''' template produces formatted text for the purpose of redirecting the reader to another page if needed. It adds the <kbd>hatnote</kbd> class which indents and italicises the text and the <kbd>navigation-not-searchable</kbd> class which excludes the content from search snippets in [[Special:Search]]. Generally the template should not be used directly on articles, instead one of the following templates can be used: * {{T|Otheruses}} * {{T|Redirect}} * {{T|Redirect2}} * {{T|Redirect3}} * {{T|Main}} * {{T|See also}} * {{T|Confuse}} ==Usage== {{t|Hatnote|<nowiki>Further reading: [[Account]]</nowiki>}} would produce the following: {{Hatnote|Further reading: [[Account]]}} {{TemplateData|<templatedata> { "params": { "1": { "label": "Text", "description": "Text that will be displayed in the hatnote.", "type": "string", "required": true }, "extraclasses": { "label": "Extra classes", "description": "Extra classes to be added to the <div> tags surrounding the hatnote text.", "type": "line" } }, "description": "Template that produces formatted text for the purpose of redirecting the reader to another page if needed." } </templatedata>}} <includeonly>[[Category:Formatting templates|{{PAGENAME}}]][[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> 8c4daec17ca86b6caf54c2b305e784fda9294a8d Module:Hatnote 828 375 616 2024-03-22T19:57:55Z Habblet 11 Created page with "-- repurposed from -- -- https://en.wikipedia.org/w/index.php?title=Module:Hatnote&oldid=1063743122 -- -- -- -- Implements {{hatnote}} template -- local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local p = {} -- Helper functions..." Scribunto text/plain -- repurposed from -- -- https://en.wikipedia.org/w/index.php?title=Module:Hatnote&oldid=1063743122 -- -- -- -- Implements {{hatnote}} template -- local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local p = {} -- Helper functions -- local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to false. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end function p.disambiguate(page, disambiguator) -- Formats a page title with a disambiguation parenthetical, -- i.e. "Example" → "Example (disambiguation)". checkType('disambiguate', 1, page, 'string') checkType('disambiguate', 2, disambiguator, 'string', true) disambiguator = disambiguator or 'disambiguation' return mw.ustring.format('%s (%s)', page, disambiguator) end -- Produces standard hatnote text -- function p.hatnote(frame) local args = frame:getParent().args local s = args[1] if not s then return '<strong class="error">No text specified for hatnote</strong>' end return p._hatnote(s, { extraclasses = args.extraclasses }) end function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) options = options or {} local inline = options.inline local hatnote = mw.html.create(inline == 1 and 'span' or 'div') local extraclasses if type(options.extraclasses) == 'string' then extraclasses = options.extraclasses end hatnote :attr('role', 'note') :addClass(inline == 1 and 'hatnote-inline' or 'hatnote') :addClass(extraclasses) :addClass('navigation-not-searchable') :wikitext(s) return tostring(hatnote) end return p 945fcccb8f92f1a1619c0b51f93ab6dc1f861ed9 Module:Hatnote/doc 828 376 617 2024-03-22T19:58:04Z Habblet 11 Created page with "{{Documentation}} Implements {{T|Hatnote}} for use on top of pages. See template for more info." wikitext text/x-wiki {{Documentation}} Implements {{T|Hatnote}} for use on top of pages. See template for more info. ab29c666a75416007eac895e23c85ddbc2f99d7f Monsters 0 377 618 2024-03-22T19:59:41Z Jayden 3 Created page with "'''Monsters''' are creatures in [[Brighter Shores]] that can be attacked. They are fought in [[combat]] for their loot, including valuable currency items. There are many monsters in Brighter Shores, including: * [[Punkupine]] * [[Slime Fiend]] * [[Mawchest]] * [[Wailing Shade]] * [[Sneaky Thief]] * [[Yellowtail Gurnard]] * [[Grumpy Pirate]] [[Category:Monsters]]" wikitext text/x-wiki '''Monsters''' are creatures in [[Brighter Shores]] that can be attacked. They are fought in [[combat]] for their loot, including valuable currency items. There are many monsters in Brighter Shores, including: * [[Punkupine]] * [[Slime Fiend]] * [[Mawchest]] * [[Wailing Shade]] * [[Sneaky Thief]] * [[Yellowtail Gurnard]] * [[Grumpy Pirate]] [[Category:Monsters]] a8a8fd097b1317c1e720241dde0ff0cd6931707a Monster 0 378 619 2024-03-22T20:00:01Z Jayden 3 Created page with "#REDIRECT Monsters" wikitext text/x-wiki #REDIRECT [[Monsters] f65f92a204f49bd8e9855184d82fbca6ea58c8a6 620 619 2024-03-22T20:00:06Z Jayden 3 Redirected page to [[Monsters]] wikitext text/x-wiki #REDIRECT [[Monsters]] 57800de25976e50f64bb3edcc1d29feb4e548f97 Mob 0 379 621 2024-03-22T20:00:14Z Jayden 3 Redirected page to [[Monsters]] wikitext text/x-wiki #REDIRECT [[Monsters]] 57800de25976e50f64bb3edcc1d29feb4e548f97 Enemy 0 380 622 2024-03-22T20:00:19Z Jayden 3 Redirected page to [[Monsters]] wikitext text/x-wiki #REDIRECT [[Monsters]] 57800de25976e50f64bb3edcc1d29feb4e548f97 Enemies 0 381 623 2024-03-22T20:00:24Z Jayden 3 Redirected page to [[Monsters]] wikitext text/x-wiki #REDIRECT [[Monsters]] 57800de25976e50f64bb3edcc1d29feb4e548f97 Template:Main Page/Contents 10 46 624 554 2024-03-22T20:00:37Z Jayden 3 wikitext text/x-wiki <noinclude>{{/doc}}</noinclude>__NOTOC__<div class="mainpage-contents tile-row"> <div class="contents-professions tile-halves"> <div class="tile-top tile-image">[[File:Professions.jpg|link=Professions]]</div> <div class="tile-bottom link-button"><h2>[[Professions]]</h2></div> </div> <div class="contents-equipment tile-halves"> <div class="tile-top tile-image">[[File:Factions.jpg|link=Factions]]</div> <div class="tile-bottom link-button"><h2>[[Factions]]</h2></div> </div> <div class="contents-locations tile-halves"> <div class="tile-top tile-image">[[File:Lani's Curiosities.jpg|link=Locations]]</div> <div class="tile-bottom link-button"><h2>[[Locations]]</h2></div> </div> <div class="contents-locations tile-halves"> <div class="tile-top tile-image">[[File:Premium Pass comparison.png|link=Premium Pass]]</div> <div class="tile-bottom link-button"><h2>[[Premium Pass]]</h2></div> </div> <div class="contents-locations tile-halves"> <div class="tile-top tile-image">[[File:Combat.jpg|link=Monsters]]</div> <div class="tile-bottom link-button"><h2>[[Monsters]]</h2></div> </div> </div> 50fe8424014b93be5b04a0b5abea9b3737893c56 Template:Redirect 10 382 625 2024-03-22T20:02:51Z Habblet 11 Created page with "{{Hatnote|"{{{1}}}" redirects here. {{#if:{{{3|}}}|For {{{2|}}}, see [[{{{3|}}}]].|{{#if:{{{2|}}}|For other uses, see [[{{{2|}}}]].|For other uses, see [[{{{1}}} (disambiguation)]].}}}} {{#if:{{{4|}}}|For {{{4}}}, see [[{{{5}}}]].}} {{#if:{{{6|}}}|For {{{6}}}, see [[{{{7}}}]].}}}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{Hatnote|"{{{1}}}" redirects here. {{#if:{{{3|}}}|For {{{2|}}}, see [[{{{3|}}}]].|{{#if:{{{2|}}}|For other uses, see [[{{{2|}}}]].|For other uses, see [[{{{1}}} (disambiguation)]].}}}} {{#if:{{{4|}}}|For {{{4}}}, see [[{{{5}}}]].}} {{#if:{{{6|}}}|For {{{6}}}, see [[{{{7}}}]].}}}}<noinclude>{{/doc}}</noinclude> 2db54def04fa6ae2f7350b844d0534578425e9b6 File:Profession fisher.png 6 383 626 2024-03-22T20:08:01Z ToofleBerry 6 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Template:Redirect/doc 10 384 627 2024-03-22T20:08:37Z Habblet 11 Created page with "{{Documentation}} __NOTOC__ The '''Redirect''' placed at the top of the article or section that is the primary topic of a redirect, and links to other topics that are ambiguous with the name of that redirect. This template does NOT create [[Brighter Shores:Redirecting|page redirects]]. ==Usage== ===3 parameters=== <code><nowiki>{{Redirect|<from>|<subject>|<target>}}</nowiki></code> Example: <code><nowiki>{{Redirect|Character|the Brighter Shores account|Account}}</nowi..." wikitext text/x-wiki {{Documentation}} __NOTOC__ The '''Redirect''' placed at the top of the article or section that is the primary topic of a redirect, and links to other topics that are ambiguous with the name of that redirect. This template does NOT create [[Brighter Shores:Redirecting|page redirects]]. ==Usage== ===3 parameters=== <code><nowiki>{{Redirect|<from>|<subject>|<target>}}</nowiki></code> Example: <code><nowiki>{{Redirect|Character|the Brighter Shores account|Account}}</nowiki></code> {{Redirect|Character|the Brighter Shores account|Account}} ===2 parameters=== <code><nowiki>{{Redirect|<from>|<target>}}</nowiki></code> Example: <code><nowiki>{{Redirect|Gower|Gower (disambiguation)}}</nowiki></code> {{Redirect|Gower|Gower (disambiguation)}} ===1 parameter=== <code><nowiki>{{Redirect|<from>}}</nowiki></code> Example: <code><nowiki>{{Redirect|Gower}}</nowiki></code> {{Redirect|Gower}} {{TemplateData|<templatedata> { "params": {}, "format": "inline", "description": "This template produces a hatnote similar to:\n\"Foo\" redirects here. For other uses, see [[Foo (disambiguation)]].\n\nIt does NOT create page redirects." } </templatedata>}} ==See also== * [[Template:Redirect3]] * [[Template:Otheruses]] * [[Template:See also]] <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> 42c8215be0470e50ae2f173b248a2d87e66cbe0d 632 627 2024-03-22T20:10:26Z Habblet 11 wikitext text/x-wiki {{Documentation}} __NOTOC__ The '''Redirect''' placed at the top of the article or section that is the primary topic of a redirect, and links to other topics that are ambiguous with the name of that redirect. This template does NOT create [[Brighter Shores:Redirecting|page redirects]]. ==Usage== ===3 parameters=== <code><nowiki>{{Redirect|<from>|<subject>|<target>}}</nowiki></code> Example: <code><nowiki>{{Redirect|Character|the Brighter Shores account|Account}}</nowiki></code> {{Redirect|Character|the Brighter Shores account|Account}} ===2 parameters=== <code><nowiki>{{Redirect|<from>|<target>}}</nowiki></code> Example: <code><nowiki>{{Redirect|Gower|Gower (disambiguation)}}</nowiki></code> {{Redirect|Gower|Gower (disambiguation)}} ===1 parameter=== <code><nowiki>{{Redirect|<from>}}</nowiki></code> Example: <code><nowiki>{{Redirect|Gower}}</nowiki></code> {{Redirect|Gower}} {{TemplateData|<templatedata> { "params": {}, "format": "inline", "description": "This template produces a hatnote similar to:\n\"Foo\" redirects here. For other uses, see [[Foo (disambiguation)]].\n\nIt does NOT create page redirects." } </templatedata>}} ==See also== * [[Template:Otheruses]] * [[Template:See also]] <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> ad4b8963401118b0bdec3635d71d52452dd51680 Professions 0 56 628 498 2024-03-22T20:08:59Z ToofleBerry 6 Added fisher icon. wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. ==List of professions== {| class="wikitable" ! Image !! Name !! Uses |- | [[File:Profession fisher.png|70px]] || [[Fisher]] || Catching various [[fish]] |- | || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> {{Professions}} 628d1e052f88fdf7285c73b3bfa3f0d05503bb12 Template:Otheruses/doc 10 370 629 611 2024-03-22T20:10:10Z Habblet 11 wikitext text/x-wiki {{Documentation}} '''Otheruses''' is used to add disambiguation links at the top of the page. ==Usage== <code><nowiki>{{Otheruses|topic|other topic|first link|another topic|second link}}</nowiki></code> or <code><nowiki>{{Otheruses|def=no|other topic|first link|another topic|second link}}</nowiki></code> Do not use this template on an article with an unambiguous title; for example, a reader who searches specifically for "Andrew Gower (NPC)" is not likely to have been looking for an article about the real life person, so it would ''not'' be appropriate to add {{t|Otheruses|Andrew Gower}} to the top of a hypothetical Andrew Gower (NPC) article. The <code>def=no</code> parameter is optional. ==Example== <code><nowiki>{{Otheruses|Hopeport|the fast travel location|Hopeport Obelisk}}</nowiki></code> gives: {{Otheruses|Hopeport|the fast travel location|Hopeport Obelisk}} <code><nowiki>{{Otheruses|def=no|the fast travel location|Hopeport Obelisk}}</nowiki></code> gives: {{Otheruses|def=no|the fast travel location|Hopeport Obelisk}} <code><nowiki>{{Otheruses|the disambiguation template}}</nowiki></code> {{Otheruses|the disambiguation template}} ==See also== * [[Template:Redirect]] * [[Template:See also]] * [[wikipedia:Template:Other uses|Template:Other uses]], the template at Wikipedia <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> a4e016049172abcec4ad9c1ae25c0a1768d5040b File:Icon backpack.png 6 385 630 2024-03-22T20:10:12Z ToofleBerry 6 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Icon belt.png 6 386 631 2024-03-22T20:10:25Z ToofleBerry 6 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Icon helm.png 6 387 633 2024-03-22T20:10:37Z ToofleBerry 6 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Template:See also 10 388 634 2024-03-22T20:10:47Z Habblet 11 Created page with "<includeonly>{{Hatnote|{{{altphrase|See also}}}: {{#if:{{{1|}}} |<!--then:-->[[:{{{1}}}|{{{l1|{{{1}}}}}}]] |<!--else:-->'''Error: [[Template:See also|Template must be given at least one article name]]''' }}{{#if:{{{2|}}}|{{#if:{{{3|}}}|, |&nbsp;and }} [[:{{{2}}}{{#if:{{{label 2|{{{l2|}}}}}}|{{!}}{{{label 2|{{{l2}}}}}}}}]] }}{{#if:{{{3|}}}|{{#if:{{{4|}}}|, |&nbsp;and }} [[:{{{3}}}{{#if:{{{label 3|{{{l3|}}}}}}|{{!}}{{{label 3|{{{l3}}}}}}}}]] }}{{#if:{{{4|}}}|{{#if:{{{5|}}..." wikitext text/x-wiki <includeonly>{{Hatnote|{{{altphrase|See also}}}: {{#if:{{{1|}}} |<!--then:-->[[:{{{1}}}|{{{l1|{{{1}}}}}}]] |<!--else:-->'''Error: [[Template:See also|Template must be given at least one article name]]''' }}{{#if:{{{2|}}}|{{#if:{{{3|}}}|, |&nbsp;and }} [[:{{{2}}}{{#if:{{{label 2|{{{l2|}}}}}}|{{!}}{{{label 2|{{{l2}}}}}}}}]] }}{{#if:{{{3|}}}|{{#if:{{{4|}}}|, |&nbsp;and }} [[:{{{3}}}{{#if:{{{label 3|{{{l3|}}}}}}|{{!}}{{{label 3|{{{l3}}}}}}}}]] }}{{#if:{{{4|}}}|{{#if:{{{5|}}}|, |&nbsp;and }} [[:{{{4}}}{{#if:{{{label 4|{{{l4|}}}}}}|{{!}}{{{label 4|{{{l4}}}}}}}}]] }}{{#if:{{{5|}}}|{{#if:{{{6|}}}|, |&nbsp;and }} [[:{{{5}}}{{#if:{{{label 5|{{{l5|}}}}}}|{{!}}{{{label 5|{{{l5}}}}}}}}]] }}{{#if:{{{6|}}}|{{#if:{{{7|}}}|, |&nbsp;and }} [[:{{{6}}}{{#if:{{{label 6|{{{l6|}}}}}}|{{!}}{{{label 6|{{{l6}}}}}}}}]] }}{{#if:{{{7|}}}|{{#if:{{{8|}}}|, |&nbsp;and }} [[:{{{7}}}{{#if:{{{label 7|{{{l7|}}}}}}|{{!}}{{{label 7|{{{l7}}}}}}}}]] }}{{#if:{{{8|}}}|{{#if:{{{9|}}}|, |&nbsp;and }} [[:{{{8}}}{{#if:{{{label 8|{{{l8|}}}}}}|{{!}}{{{label 8|{{{l8}}}}}}}}]] }}{{#if:{{{9|}}}|{{#if:{{{10|}}}|, |&nbsp;and }} [[:{{{9}}}{{#if:{{{label 9|{{{l9|}}}}}}|{{!}}{{{label 9|{{{l9}}}}}}}}]] }}{{#if:{{{10|}}}|{{#if:{{{11|}}}|, |&nbsp;and }} [[:{{{10}}}{{#if:{{{label 10|{{{l10|}}}}}}|{{!}}{{{label 10|{{{l10}}}}}}}}]] }}{{#if:{{{11|}}}|{{#if:{{{12|}}}|, |&nbsp;and }} [[:{{{11}}}{{#if:{{{label 11|{{{l11|}}}}}}|{{!}}{{{label 11|{{{l11}}}}}}}}]] }}{{#if:{{{12|}}}|{{#if:{{{13|}}}|, |&nbsp;and }} [[:{{{12}}}{{#if:{{{label 12|{{{l12|}}}}}}|{{!}}{{{label 12|{{{l12}}}}}}}}]] }}{{#if:{{{13|}}}|{{#if:{{{14|}}}|, |&nbsp;and }} [[:{{{13}}}{{#if:{{{label 13|{{{l13|}}}}}}|{{!}}{{{label 13|{{{l13}}}}}}}}]] }}{{#if:{{{14|}}}|{{#if:{{{15|}}}|, |&nbsp;and }} [[:{{{14}}}{{#if:{{{label 14|{{{l14|}}}}}}|{{!}}{{{label 14|{{{l14}}}}}}}}]] }}{{#if:{{{15|}}}|,&nbsp;and [[:{{{15}}}{{#if:{{{label 15|{{{l15|}}} }}}|{{!}}{{{label 15|{{{l15|}}} }}} }}]] }}{{#if:{{{16|}}}| &mdash; '''<br/>Error: [[Template:See also|Too many links specified (maximum is 15)]]''' }}}}</includeonly><noinclude>{{/doc}}</noinclude> 157558dc0fee1e4d0a95c4595eb2b0827e11c600 Template:See also/doc 10 389 635 2024-03-22T20:13:48Z Habblet 11 Created page with "{{Documentation}} ==Usage== Shows links to other related articles. ===Syntax=== <code><nowiki>{{See also|article name 1 [|article name 2 |... |article name 15]}}</nowiki></code> * '''article name 1''': The first related article to link to. * '''article name n''': The nth related article to link to, with n ≤ 15. ===Examples=== The first example shows how the template gives errors if used without parameters or with too many parameters, while the latter examples show..." wikitext text/x-wiki {{Documentation}} ==Usage== Shows links to other related articles. ===Syntax=== <code><nowiki>{{See also|article name 1 [|article name 2 |... |article name 15]}}</nowiki></code> * '''article name 1''': The first related article to link to. * '''article name n''': The nth related article to link to, with n ≤ 15. ===Examples=== The first example shows how the template gives errors if used without parameters or with too many parameters, while the latter examples show proper use. {| class="wikitable" style="text-align:center;" |- ! Input ! Output |- |<code><nowiki>{{See also}}</nowiki></code> |{{See also}} |- |<code><nowiki>{{See also|Hopeport Obelisk}}</nowiki></code> |{{See also|Hopeport Obelisk}} |- |<code><nowiki>{{See also|Hopeport Obelisk|Quiet Grove|label 2=the Quiet Grove}}</nowiki></code> |{{See also|Hopeport Obelisk|Quiet Grove|label 2=the Quiet Grove}} |} ==See also== * [[Template:Redirect]] * [[Template:Otheruses]] <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> abfbed687a2da1964da42f48963fbbee2573dd6a MediaWiki:Common.less/templates.less 8 25 636 477 2024-03-22T20:15:20Z Habblet 11 less less /* ================== TEMPLATES ==================*/ :root { --keypress-background: @gallery; --keypress-border: @silver; --keypress-color: @mineshaft; } // Hatnotes: [[Module:Hatnote]] .hatnote, .seealso { font-style: italic; i { font-style: normal; } } // two classes - hatnote gets much customisation in minerva but seealso doesnt div.hatnote, div.seealso { // 0.5em is <p>'s top and bottom margin // 1.6em to match <dd>/<ul> indent margin: .5em 1.6em; & + & { margin-top: -0.5em; } } // Template:Key press .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: @border-radius; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } a32ccb44ddafdfedfdd9a7116958aca357c47828 649 636 2024-03-22T20:23:32Z Habblet 11 less less /* ================== TEMPLATES ==================*/ :root { --keypress-background: @gallery; --keypress-border: @silver; --keypress-color: @mineshaft; } // Template:Shortcut .shortcut { border: 1px solid @infobox-border-color; background: @infobox-background; float: right; font-size: .8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } // Hatnotes: [[Module:Hatnote]] .hatnote, .seealso { font-style: italic; i { font-style: normal; } } // two classes - hatnote gets much customisation in minerva but seealso doesnt div.hatnote, div.seealso { // 0.5em is <p>'s top and bottom margin // 1.6em to match <dd>/<ul> indent margin: .5em 1.6em; & + & { margin-top: -0.5em; } } // Template:Key press .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: @border-radius; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } 4d8961cffc51ef7a25df47988b3c0ba3ac6778c1 MediaWiki:Common.css 8 30 637 509 2024-03-22T20:15:46Z Habblet 11 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.75em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.75em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 7c56ec31801c85f9465e48de99b5de45f2ff4648 650 637 2024-03-22T20:23:40Z Habblet 11 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #4c4c4c; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.75em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.75em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } a11489ecc6783c675682f2955e708d6a0f7d4e7b Template:Shortcut 10 390 638 2024-03-22T20:16:19Z Habblet 11 Created page with "<includeonly>{{#invoke:Shortcut|main}}</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>{{#invoke:Shortcut|main}}</includeonly><noinclude>{{/doc}}</noinclude> 3c2c3d27ffedf21a24389b57aef84214144d5c96 Template:Shortcut/doc 10 391 639 2024-03-22T20:16:59Z Habblet 11 Created page with "{{documentation}} {{Invokes|Shortcut}} The '''Shortcut''' template adds a [[Brighter Shores:Shortcut|shortcut box]] to the right of an article or a section which provides the shortcut link to that article or section. ==Usage== {{T|Shortcut|shortcut1|shortcut2|shortcut...}} ==Example== {{T|shortcut|BS:SG|BS:STYLE}} {{Shortcut|BS:SG|BS:STYLE}} {{clear}} ---- {| class="wikitable" |- ! Domain name ! abbreviation |- | (Mainspace) | none |- | Brighter Shores: | BS: |- |..." wikitext text/x-wiki {{documentation}} {{Invokes|Shortcut}} The '''Shortcut''' template adds a [[Brighter Shores:Shortcut|shortcut box]] to the right of an article or a section which provides the shortcut link to that article or section. ==Usage== {{T|Shortcut|shortcut1|shortcut2|shortcut...}} ==Example== {{T|shortcut|BS:SG|BS:STYLE}} {{Shortcut|BS:SG|BS:STYLE}} {{clear}} ---- {| class="wikitable" |- ! Domain name ! abbreviation |- | (Mainspace) | none |- | Brighter Shores: | BS: |- | Template: | T: |- | Help: | H: |- | Forum: | F: |- | Category: | CG: |- | User: | Not allowed. |} <includeonly>[[Category:Lua-based templates|{{PAGENAME}}]]</includeonly> 7eb81224585e59c213885809e342d96985bd585b 640 639 2024-03-22T20:17:27Z Habblet 11 wikitext text/x-wiki {{documentation}} {{Invokes|Shortcut}} The '''Shortcut''' template adds a [[Brighter Shores:Shortcut|shortcut box]] to the right of an article or a section which provides the shortcut link to that article or section. ==Usage== {{T|Shortcut|shortcut1|shortcut2|shortcut...}} ==Example== {{T|shortcut|BS:SG|BS:STYLE}} {{Shortcut|BS:SG|BS:STYLE}} ---- {| class="wikitable" |- ! Domain name ! abbreviation |- | (Mainspace) | none |- | Brighter Shores: | BS: |- | Template: | T: |- | Help: | H: |- | Forum: | F: |- | Category: | CG: |- | User: | Not allowed. |} <includeonly>[[Category:Lua-based templates|{{PAGENAME}}]]</includeonly> 9078ebc8fd827d3acb5864d2d642bbabbccfa80e 641 640 2024-03-22T20:17:33Z Habblet 11 wikitext text/x-wiki {{documentation}} {{Invokes|Shortcut}} The '''Shortcut''' template adds a [[Brighter Shores:Shortcut|shortcut box]] to the right of an article or a section which provides the shortcut link to that article or section. ==Usage== {{T|Shortcut|shortcut1|shortcut2|shortcut...}} ==Example== {{T|Shortcut|BS:SG|BS:STYLE}} {{Shortcut|BS:SG|BS:STYLE}} ---- {| class="wikitable" |- ! Domain name ! abbreviation |- | (Mainspace) | none |- | Brighter Shores: | BS: |- | Template: | T: |- | Help: | H: |- | Forum: | F: |- | Category: | CG: |- | User: | Not allowed. |} <includeonly>[[Category:Lua-based templates|{{PAGENAME}}]]</includeonly> 0dde02bc79a401169c480196fbc3f6cedc20df22 File:Basic bacon.png 6 392 642 2024-03-22T20:18:10Z ToofleBerry 6 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Module:Shortcut 828 393 643 2024-03-22T20:18:16Z Habblet 11 Created page with "local p = {} function p.main(frame) local args = frame:getParent().args return p._main(args) end function p._main(args) local div = mw.html.create('div') :addClass('shortcut noprint plainlist') :wikitext('[[Brighter Shores:Shortcut|Shortcut]]') local numargs = 0 for i, v in ipairs(args) do numargs = numargs + 1 end if numargs > 1 then div:node('s') end div:node(':') local list = div:tag('ul'..." Scribunto text/plain local p = {} function p.main(frame) local args = frame:getParent().args return p._main(args) end function p._main(args) local div = mw.html.create('div') :addClass('shortcut noprint plainlist') :wikitext('[[Brighter Shores:Shortcut|Shortcut]]') local numargs = 0 for i, v in ipairs(args) do numargs = numargs + 1 end if numargs > 1 then div:node('s') end div:node(':') local list = div:tag('ul') for i, v in ipairs(args) do list:tag('li'):wikitext('[[' .. v .. ']]') end return tostring(div) end --[[ DEBUG COPYPASTA = p._main({'Link 1', 'Link 2', 'Link 3', 'Link 4'}) --]] return p fc6fac280f5178a3134af0273ebee61edbfbf2e0 Module:Shortcut/doc 828 394 644 2024-03-22T20:18:26Z Habblet 11 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Category:Pages needing documentation 14 395 645 2024-03-22T20:18:48Z Habblet 11 Created page with "{{Categoryheader|templates, modules, etc.|needing proper /doc pages}} {{Tracking category}} __EXPECTUNUSEDCATEGORY__" wikitext text/x-wiki {{Categoryheader|templates, modules, etc.|needing proper /doc pages}} {{Tracking category}} __EXPECTUNUSEDCATEGORY__ 3bcaef843beab8ba323a28c49f08e9c2796a5689 Brighter Shores:ORPHAN 4 396 646 2024-03-22T20:21:39Z Habblet 11 Redirected page to [[Brighter Shores:Orphanage]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:Orphanage]] dc6ee80c345c00d713d98a7eecb19c9431b7fe56 Brighter Shores:O 4 397 647 2024-03-22T20:21:42Z Habblet 11 Redirected page to [[Brighter Shores:Orphanage]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:Orphanage]] dc6ee80c345c00d713d98a7eecb19c9431b7fe56 File:Raw basic bacon.png 6 398 648 2024-03-22T20:22:06Z ToofleBerry 6 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Template:Main 10 399 651 2024-03-22T20:27:19Z Habblet 11 Created page with "{{#invoke:Main article|main}}<noinclude> {{/doc}}[[Category:Transclusion templates|{{PAGENAME}}]]</noinclude>" wikitext text/x-wiki {{#invoke:Main article|main}}<noinclude> {{/doc}}[[Category:Transclusion templates|{{PAGENAME}}]]</noinclude> 4a3c9d9ba3e4c3114b29ef4ff0c090555825e899 Template:Main Page/Discord 10 364 652 597 2024-03-22T20:30:00Z Jayden 3 wikitext text/x-wiki <noinclude>{{/doc}}</noinclude><div class="mainpage-discord tile-halves plainlinks"> <div class="tile-top"> <div class="partner-icon">[[File:Discord logo icon.svg|60px|link=]]</div> [https://discord.gg/xGDZskaAn9 <div class="arrow nomobile"></div><p class="server-name">Brighter Shores Community</p><p class="server-tagline">Join the community Discord server to discuss the game!</p>] </div> <div class="tile-bottom"> <p>Community Discord</p> </div> </div> 233369e037f328360ce372734c24ec1ef1789b29 Template:Main/doc 10 400 653 2024-03-22T20:30:16Z Habblet 11 Created page with "{{Documentation}} {{Invokes|Main article}} This template can be used to link to another relevant article or set of articles when there is no way to fluently link the article in prose. ;Good example <pre> ==Strategies== {{Main|/Strategies}} Sneaky Thieves have low health. </pre> ;Bad example Below, it makes more sense to simply link [[Andrew Gower]] in the paragraph: <pre> ==Andrew Gower== {{Main|Andrew Gower}} Andrew Gower is the creator of Brighter Shores. </pre> {..." wikitext text/x-wiki {{Documentation}} {{Invokes|Main article}} This template can be used to link to another relevant article or set of articles when there is no way to fluently link the article in prose. ;Good example <pre> ==Strategies== {{Main|/Strategies}} Sneaky Thieves have low health. </pre> ;Bad example Below, it makes more sense to simply link [[Andrew Gower]] in the paragraph: <pre> ==Andrew Gower== {{Main|Andrew Gower}} Andrew Gower is the creator of Brighter Shores. </pre> {{TemplateData|<templatedata> { "params": { "1": { "label": "Article", "description": "Article to link to", "example": "/Strategies", "type": "string", "required": true } }, "description": "This template can be used to link to another relevant article or set of articles when there is no way to fluently link the article in prose.", "format": "inline" } </templatedata> }} 8a63d1a332576a65e6ebe1b96c81d16effffa49d Module:Main article 828 401 654 2024-03-22T20:30:50Z Habblet 11 Created page with "-- <pre> local p = {} function p.main(frame) local hat = require('Module:Hatnote') local args = frame:getParent().args local ret = mw.html.create('') -- list of all articles local params = {} -- total arguments counted counted local ttl = 0 for _, v in ipairs(args) do ttl = ttl + 1 table.insert(params,v) end -- main return string ret:wikitext('Main article'..(#params > 1 and 's' or '')..': ') -- helper function local function link(article) article..." Scribunto text/plain -- <pre> local p = {} function p.main(frame) local hat = require('Module:Hatnote') local args = frame:getParent().args local ret = mw.html.create('') -- list of all articles local params = {} -- total arguments counted counted local ttl = 0 for _, v in ipairs(args) do ttl = ttl + 1 table.insert(params,v) end -- main return string ret:wikitext('Main article'..(#params > 1 and 's' or '')..': ') -- helper function local function link(article) article = string.gsub(article,'_',' ') article = mw.text.trim(article) -- replace anchors with section symbol if article:find('#',1,true) then local article_t = mw.text.split(article,'#') article_t = table.concat(article_t,' § ') -- article|alttext article = article..'|'..article_t end -- link article return '[['..article..']]' end -- additional articles for i, v in ipairs(params) do -- add article link if i < ttl and ttl > 1 then ret:wikitext(link(v)) -- if last argument elseif i == ttl then -- only one argument, just add link if ttl == 1 then ret:wikitext(link(v)) -- otherwise finish with "and" else ret:wikitext(' and '..link(v)) end end -- if more to come, add commas if i < ttl and ttl > 2 then ret:wikitext(', ') end end -- return finished string return hat._hatnote(tostring(ret)) end return p 1e7a3aaec6633bbd60253f3d772adc10df22f7a0 Module:Main article/doc 828 402 655 2024-03-22T20:31:02Z Habblet 11 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Template:Extension DPL 10 403 656 2024-03-22T20:32:45Z Habblet 11 Created page with "<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <noinclude>{{/doc}}</noinclude> d5ed56433dbfbb026e88f205094c9ac2bc8c5591 Template:Extension DPL/doc 10 404 657 2024-03-22T20:33:03Z Habblet 11 Created page with "{{Documentation}} This page was automatically created. It serves as an anchor page for all '''[[Special:WhatLinksHere/Template:Extension_DPL|invocations]]''' of [http://mediawiki.org/wiki/Extension:DynamicPageList Extension:DynamicPageList (DPL)]. ==Usage== This template should not be linked to, as it does nothing. <includeonly>[[Category:DPL templates|{{PAGENAME}}]][[Category:Formatting templates|{{PAGENAME}}]]</includeonly>" wikitext text/x-wiki {{Documentation}} This page was automatically created. It serves as an anchor page for all '''[[Special:WhatLinksHere/Template:Extension_DPL|invocations]]''' of [http://mediawiki.org/wiki/Extension:DynamicPageList Extension:DynamicPageList (DPL)]. ==Usage== This template should not be linked to, as it does nothing. <includeonly>[[Category:DPL templates|{{PAGENAME}}]][[Category:Formatting templates|{{PAGENAME}}]]</includeonly> 95768d0a63d7b33f8552b98d71c99964512e9e08 MediaWiki:Minerva.less 8 405 658 2024-03-22T20:33:07Z Jayden 3 base cp from rsw less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Minerva.css]]. * * These styles will be applied to the Minerva skin (mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ @dir: 'MediaWiki:Minerva.less'; @common: 'MediaWiki:Common.less'; // ===== IMPORTS ===== @import '@{common}/mixins.less'; @import '@{dir}/fonts.less'; // font imports and font stack definitions @import '@{common}/variables.less'; // colors, shadows, etc. @import '@{dir}/elements.less'; // HTML elements // skin modifications @import '@{dir}/interface.less'; // skin/chrome changes @import '@{dir}/specials.less'; // special pages @import '@{dir}/diff.less'; // [[Special:MobileDiff]] // templates @import '@{dir}/infobox.less'; @import '@{dir}/tiles.less'; @import '@{dir}/navbox.less'; // page-specific styles @import '@{dir}/mainpage.less'; // main page (obviously) // ===== Other ===== // minerva doesnt set a bg since it 100%s all tables .wikitable { background: none; box-shadow: none; tbody { background: var(--body-light); } } // Table of Contents .toc { background-color: var(--body-light); border-color: var(--body-border); } #filetoc li { display: inline; padding-right: 2em; } // Sitenotice stuff .mw-dismissable-notice-body { margin: 0; .mw-dismissable-notice-close-parent { border-radius: 0 !important; font-size: .75em; } } :root { --thumb-image-background: var(--body-light); --thumb-caption-background: var(--body-mid); } .content { // image thumbnails .thumbinner { background-color: var(--thumb-bg); } .thumbimage { border: 1px solid transparent; border-bottom: none; } .thumbcaption { margin: 0; padding: 4px 6px !important; // minerva has !important color: inherit; background: var(--thumb-caption-bg); } // minerva sets a margin: 1em 0 to all tables table.messagebox { margin: 0.5em auto; } // fix for plink/table images often shrinking into nothingness table a > img { max-width: inherit !important; height: inherit !important; } // the above would make images inside infobox really large // if they don't have a specified width/height .infobox a > img { max-width: 100% !important; height: auto !important; } // override above to make infobox-bonuses scrollable .infobox-bonuses a > img { max-width: inherit !important; height: inherit !important; } } b4de8feb1e15b3e030d26f50eaca5b91b9bc6d72 MediaWiki:Minerva.less/fonts.less 8 406 659 2024-03-22T20:33:31Z Jayden 3 Created page with "/* ================== variables ================== */ @system-font-stack: system-ui, -apple-system, Roboto, Helvetica, sans-serif; /* ================== body ================== */ body { font-family: @system-font-stack; // default is too small @media all and (max-width: 320px) { font-size: .9em; } } // bit more space compared to default 1.65 .content { line-height: 1.7; } /* ================== headers..." less less /* ================== variables ================== */ @system-font-stack: system-ui, -apple-system, Roboto, Helvetica, sans-serif; /* ================== body ================== */ body { font-family: @system-font-stack; // default is too small @media all and (max-width: 320px) { font-size: .9em; } } // bit more space compared to default 1.65 .content { line-height: 1.7; } /* ================== headers ================== */ .pre-content h1, // page title .content h1, .content h2 { font-weight: bold; } d01a02a55dce564106d1e1c055a3f429214b8fa7 Template:Disambig 10 407 660 2024-03-22T20:33:58Z Habblet 11 Created page with "<includeonly>{{MessageBox |class = disambig |img = [[File:Disambig gray.svg|40px|center|link=]] |imgwidth = 45px |This page is used to [[Brighter Shores:Style guide/Disambiguation|distinguish]] between articles with similar names. |If an [[Special:WhatLinksHere/{{FULLPAGENAME}}|internal link]] led you to this disambiguation page, you may wish to change the link to point directly to the intended article. }}{{Mainonly|[[Category:Disambiguation]]}}</includeonly><noinclude>{..." wikitext text/x-wiki <includeonly>{{MessageBox |class = disambig |img = [[File:Disambig gray.svg|40px|center|link=]] |imgwidth = 45px |This page is used to [[Brighter Shores:Style guide/Disambiguation|distinguish]] between articles with similar names. |If an [[Special:WhatLinksHere/{{FULLPAGENAME}}|internal link]] led you to this disambiguation page, you may wish to change the link to point directly to the intended article. }}{{Mainonly|[[Category:Disambiguation]]}}</includeonly><noinclude>{{/doc}}</noinclude> 909d663ccc3b2023c81ee0fcb23e9b9405ce8bbd MediaWiki:Minerva.less/elements.less 8 408 661 2024-03-22T20:34:04Z Jayden 3 base cp from rsw less less /* =================== HTML elements =================== */ // Background colour // image is not here as it wont affect the top bar in search overlays and others body { background: var(--body-background-color); color: var(--text-color); } // used on above switch infoboxes select { color: var(--text-color); } // self link a:not( [ href ] ) { color: inherit; } // External links icon a.external, .mw-parser-output a.external { background-image: var(--external-icon); } // <blockquote> blockquote { border-color: var(--body-mid); // uses default serif fonts font-family: inherit; } // Page title header .pre-content h1 { text-align: center; } // Clear on first subheader. Useful for pages that start with floating content. .mw-parser-output h2:first-of-type { clear: both; } // all are .content specific .content { // all headers border color .mw-parser-output > h2, .section-heading { border-color: var(--sidebar); } // same specifity as default border style .mw-parser-output > h2, // all headers have this class .section-heading { border-color: var(--sidebar); } // rv padding added by minerva .plainlist { ol, ul { padding: 0; } } // same margin for top and bottom p { margin: 0.5em 0; } // same as desktop <hr> hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } // no border pls kbd, samp { border: none } code, pre { background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } } 0fb827014c4b271df46d9497b40204da5616f0b1 Template:Disambig/doc 10 409 662 2024-03-22T20:34:19Z Habblet 11 Created page with "{{Documentation}} This template displays a notice about a page being a disambiguation. ==Usage and Examples== This template can be used by entering the following onto a relevant disambiguation page. It will automatically add the [[:Category:Disambiguation]] to the page. {{T|Disambig}} {{Disambig}} <includeonly>[[Category:Message box templates|{{PAGENAME}}]]</includeonly>" wikitext text/x-wiki {{Documentation}} This template displays a notice about a page being a disambiguation. ==Usage and Examples== This template can be used by entering the following onto a relevant disambiguation page. It will automatically add the [[:Category:Disambiguation]] to the page. {{T|Disambig}} {{Disambig}} <includeonly>[[Category:Message box templates|{{PAGENAME}}]]</includeonly> 0447b8592f70f90dc64bcd609ac4165887ec32de MediaWiki:Minerva.less/interface.less 8 410 663 2024-03-22T20:34:38Z Jayden 3 Created page with "/* ================================ changes to the mobile skin ================================ */ :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='%23000'%3E%3Cpath d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM3 8a5 5 0 1 0 10 0A5 5 0 1 0 3 8z'/%3E%3C/g%3E%3C/svg%3E"); --external-icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF..." less less /* ================================ changes to the mobile skin ================================ */ :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='%23000'%3E%3Cpath d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM3 8a5 5 0 1 0 10 0A5 5 0 1 0 3 8z'/%3E%3C/g%3E%3C/svg%3E"); --external-icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cg fill='%23906039'%3E%3Cpath d='M8.9 8.9H1.1V1.1h2.8V0H1.1C.5 0 0 .5 0 1.1v7.8C0 9.5.5 10 1.1 10h7.8c.6 0 1.1-.5 1.1-1.1V6.1H8.9v2.8z'/%3E%3Cpath d='M10 0H5.6l1.8 1.8L4.2 5l.8.8 3.2-3.2L10 4.4V0z'/%3E%3C/g%3E%3C/svg%3E"); } /* ----------------------- page container ----------------------- */ // body element is already coloured #mw-mf-page-center { background-color: transparent; } /* ----------------------- header/search bar ----------------------- */ .header { border-top: none; } .header-container { &.header-chrome { // not in body element because of search overlay and others background: var(--body-background-image) var(--body-background-color) no-repeat; background-color: var(--body-background-color); background-size: 900px; box-shadow: inset 0 -1px 3px rgba(0, 0, 0, .1); } .notification-count { border-radius: @border-radius-circle; &.notification-unseen { background: none; } } // wiki logo .branding-box { opacity: 1; } } // search box .search-box { // for bigger screen sizes where search bar is shown automatically text-align: right; .search { background-color: var(--search-box); border-color: var(--search-box); box-shadow: @box-shadow; &::placeholder { color: var(--byline-color); } } } .client-nojs .search-box .search:focus, .search-overlay .search-box .search:focus { border-color: var(--link-color); box-shadow: inset 0 0 0 1px var(--link-color), 0 1px 1px rgba(0,0,0,0.05); } // magnifying glass icon; cant invert as the class is used in the same // element as .search-box .mw-ui-background-icon-search { background-image: var(--searchbutton-icon); } /* ------------- overlay ------------- */ .overlay { background: var(--body-main); textarea { color: var(--text-color); } // self explanatory &.search-overlay { background: var(--body-main); // results boxes .results, .search-feedback { background-color: var(--body-light); } // "Search within pages" .search-content { border-color: var(--body-mid); } } // inside talk pages and editor? .license { color: var(--base-text-color); } // border seperating summary section and preview .panel { border-color: var(--sidebar); } // category menu .content-header { background-color: var(--body-light); border-color: transparent; } &.overlay-loading { // adjustable background: var(--ooui-window-background); } // this and the one on parent may be able // to colour all overlays .overlay-content { background: var(--body-main); } } // search results text .page-summary h2, .page-summary h3 { color: var(--text-color); } // search results border .page-list li, .topic-title-list li, .site-link-list li { border-color: var(--body-mid); } // background colour wouldnt be affected when scrolling down certain overlays // the :not is there so source edit doesnt get messed up .overlay-enabled .overlay:not(.editor-overlay), .overlay-enabled #mw-mf-page-center { overflow-y: scroll; } .overlay-header-container, .overlay-footer-container { background-color: var(--body-background-color); border-color: transparent; } // editor stuff // edit area .editor-overlay { .wikitext-editor { color: var(--text-color); } .overlay-header { outline-color: transparent; } .summary-request { color: var(--text-color); } // switch between ve/source .editor-switcher { border: none; } } // editor text colour adjustments .action-submit .mw-editnotice .action-edit .mw-editnotice, .action-submit .mw-editTools, .action-edit .mw-editTools, .action-submit .preview-limit-report-wrapper, .action-edit .preview-limit-report-wrapper, .action-submit .diff-otitle, .action-edit .diff-otitle, .action-submit .diff-ntitle, .action-edit .diff-ntitle, .action-submit #section_0, .action-edit #section_0, .action-submit #editpage-copywarn, .action-edit #editpage-copywarn, .action-submit #mw-anon-edit-warning, .action-edit #mw-anon-edit-warning { color: var(--byline-color); } .wikitext-editor { background-color: var(--body-main); } .ve-mobile-fakeToolbar { border: none; &-container { background: var(--body-background-color); border: none; } .mw-ui-icon-mf-spinner { border-color: transparent; } } .ve-ui-targetToolbar-mobile .oo-ui-toolbar-tools > .ve-ui-toolbar-group-back { border-color: transparent; } .ve-ui-mobileContext { background-color: var(--body-light); border-color: var(--body-light); .ve-ui-linearContextItem-body-action-wrapper { border-color: var(--body-border); } } .ve-ui-linearContextItem-foot:not(:empty) { border-color: var(--body-border); } // "This is a minor edit" box .ve-ui-mwSaveDialog-options { backgroubd-color: var(--body-light); border-color: var(--body-mid); } /* ------------- page tabs and nav ------------- */ .page-actions-menu { border-color: var(--sidebar); } // Hide language selector #language-selector { display: none; } // page tabs .minerva__tab-container .minerva__tab { color: var(--text-color); // redlinks &.new, &.new:visited, &.new:hover, &.new:active { color: var(--redlink-color); } &.selected { border-color: var(--body-border); } } // "Joined n time ago" on userpages .heading-holder .tagline { color: var(--base-heading-color); } /* ------------- footer ------------- */ .minerva-footer { border-color: transparent; } .mw-footer > .post-content { // same margin as .catlinks to .last-modified-bar margin-top: 32px; // remove the wiki logo in the footer > .minerva-footer-logo { display: none; } } // why the progressive .mw-footer .hlist li:after { color: var(--background-text-color); } // bar at the bottom of the page linking to page hist .last-modified-bar { border-top: 1px solid; border-color: transparent; background: none; color: var(--text-color); a, a:active, a:visited, .last-modified-text-accent { color: var(--background-text-color); } // when recently edited // might want to overrule `.mw-footer a` etc... &.active { &, &:active, &:visited, .last-modified-text-accent { color: @white; } } } // arrow icon used by above // :not for .active .mw-ui-icon-mf-expand-gray:not(.mw-ui-icon-mf-expand-invert):before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eexpand%3C/title%3E%3Cg fill='%2354595d'%3E%3Cpath d='M17.5 4.75l-7.5 7.5-7.5-7.5L1 6.25l9 9 9-9z'/%3E%3C/g%3E%3C/svg%3E"); } /* ------------- other ------------- */ // dropdown menu .toggle-list__list { background-color: var(--wikitable-bg); } .toggle-list-item__anchor { &:visited, &:active { color: var(--base-text-color); } } .toggle-list-item:hover { background: var(--wikitable-bg-lighter); } .toggle-list-item__label { color: var(--base-text-color); } // Mobile top icons .mw-ui-icon { &-wikimedia-search-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esearch%3C/title%3E%3Cg fill='white'%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 111.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 113 8a5 5 0 0110 0z'/%3E%3C/g%3E%3C/svg%3E%0A"); } &-wikimedia-menu-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Emenu%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M1 3v2h18V3zm0 8h18V9H1zm0 6h18v-2H1z'/%3E%3C/g%3E%3C/svg%3E%0A"); } &-wikimedia-bellOutline-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Ebell%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M11.5 2.19C14.09 2.86 16 5.2 16 8v6l2 2v1H2v-1l2-2V8c0-2.8 1.91-5.14 4.5-5.81V1.5C8.5.67 9.17 0 10 0s1.5.67 1.5 1.5v.69zM10 4C7.79 4 6 5.79 6 8v7h8V8c0-2.21-1.79-4-4-4zM8 18h4c0 1.1-.9 2-2 2s-2-.9-2-2z'/%3E%3C/g%3E%3C/svg%3E%0A"); } &-minerva-userAvatarOutline:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Euser avatar%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M10 8c1.7 0 3.06-1.35 3.06-3S11.7 2 10 2 6.94 3.35 6.94 5 8.3 8 10 8zm0 2c-2.8 0-5.06-2.24-5.06-5S7.2 0 10 0s5.06 2.24 5.06 5-2.26 5-5.06 5zm-7 8h14v-1.33c0-1.75-2.31-3.56-7-3.56s-7 1.81-7 3.56V18zm7-6.89c6.66 0 9 3.33 9 5.56V20H1v-3.33c0-2.23 2.34-5.56 9-5.56z'/%3E%3C/g%3E%3C/svg%3E%0A"); } } // text inside navbar @media all and (min-width: @width-breakpoint-desktop) { .mw-ui-icon-with-label-desktop, .mw-ui-icon-with-label-desktop:hover, .mw-ui-icon-with-label-desktop:focus, .mw-ui-icon-with-label-desktop:active, .mw-ui-icon-with-label-desktop:visited { color: var(--base-text-color) !important; //there's a !important at core lol } } // Close button beside the search bar .header-action .mw-ui-icon-mf-close-base20:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclose%3C/title%3E%3Cg fill='%23fff'%3E%3Cpath d='m4.3 2.9 12.8 12.8-1.4 1.4L2.9 4.3z'/%3E%3Cpath d='M17.1 4.3 4.3 17.1l-1.4-1.4L15.7 2.9z'/%3E%3C/g%3E%3C/svg%3E"); } // Sidebar menus #mw-mf-page-left { background-color: var(--body-background-color); // logout button when not in amc .secondary-action { border-left-color: var(--body-mid); } ul { // buttons li { background-color: var(--body-main); border-color: var(--body-mid); a { color: var(--base-text-color); &:hover { box-shadow: inset 4px 0 0 0 var(--link-color); } } } // links below buttons &.hlist li a { color: var(--background-link-color); span { font-size: 0.8125rem; // slightly smaller for smaller chance of overflowing } } } } .notifications-overlay { // same as opposite sidebar menu &.navigation-drawer { box-shadow: -1px 0 8px 0 rgba(0, 0, 0, 0.35); } // ... menu .mw-echo-ui-actionMenuPopupWidget-menu { border: none; } } // "All notifications" .mw-ui-anchor.mw-ui-progressive { // this should be replaced with our own progressive link colour at some point &, &:active, &:hover, &:focus { color: var(--link-color); } } // talk page stuff .minerva-talk-full-page-button { background-color: var(--body-main); border-color: var(--body-dark); color: var(--link-color); } .minerva-talk-content-explained { border-color: var(--sidebar); color: var(--base-text-color); } .talk-overlay .comment .wikitext-editor { border-color: var(--body-border); } .client-js .skin-minerva--talk-simplified .section-heading { border-color: var(--sidebar); } // notif boxes .mw-notification, .toast { a { color: var(--link-color); } } // eg when clicking redlinks .drawer { background-color: var(--body-light); // when clicking references &.references-drawer { background-color: var(--body-light); color: var(--text-color); a { color: var(--link-color); } .references-drawer__title { color: var(--text-color); } // channging to be the same as text-color .mw-ui-icon::before { filter: brightness(0); } } } // obscure class used on non-existent userpages .cta-holder { background: var(--body-light); .desc { color: var(--byline-color); } } // edit tag e.g. Rollback .mw-tag-marker { border-color: var(--body-border); } // visedit/sourceditor switch button .oo-ui-toolGroup { background: var(--body-background-color); } // MF MediaViewer/ImageCarousel .load-fail-msg { color: var(--text-color); &-link a { color: var(--link-color); } } // checkered background .image-carousel .image-loaded { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E%0A") repeat; } .image-details { background-color: var(--body-light); border-color: transparent; } 9f5ff91d3cfa9b7f522df78a377adb047c0999bd File:Disambig gray.svg 6 411 664 2024-03-22T20:34:51Z Habblet 11 {{GFDL}} {{CC-BY-SA}} Taken from: {{Wp|File:Disambig gray.svg}} [[Category:Template images]] wikitext text/x-wiki == Summary == {{GFDL}} {{CC-BY-SA}} Taken from: {{Wp|File:Disambig gray.svg}} [[Category:Template images]] bc28133d824221f71b620f5e6dbfbad0674c1e5e MediaWiki:Minerva.less/specials.less 8 412 665 2024-03-22T20:34:56Z Jayden 3 Created page with "/* ================================ changes to special pages ================================ */ // == Special:MobileOptions == @media all and (min-width: @width-breakpoint-tablet) { .ns-special { .pre-content { background-color: transparent; } .mw-body { background: var(--body-main); form { background: transparent; } } } } form.mw-mf-settings .oo-ui-fieldLayout { &, &:first-child { border-color: var(--body-mid); } } // Page h..." less less /* ================================ changes to special pages ================================ */ // == Special:MobileOptions == @media all and (min-width: @width-breakpoint-tablet) { .ns-special { .pre-content { background-color: transparent; } .mw-body { background: var(--body-main); form { background: transparent; } } } } form.mw-mf-settings .oo-ui-fieldLayout { &, &:first-child { border-color: var(--body-mid); } } // Page hist when not in amc .ns-special .content-header { border-bottom-color: var(--body-dark); } // when Advanced mode is on .action-history { .mw-history-compareselectedversions { background-color: var(--body-main); } #pagehistory li:not(.selected) { border-bottom-color: var(--sidebar); } } // == Special:Contributions == ul.mw-contributions-list li, ul.special li { border-color: var(--sidebar); } // == Special:History == // you will be directed to ?action=history if you got amc turned on .page-list, .topic-title-list, .site-link-list { li > a:not(.mw-ui-icon-element) { color: var(--byline-color); } &.side-list .list-thumb { color: var(--text-color); } } // edit summary .page-list .info, .topic-title-list .info, .site-link-list .info, .page-list .component, .topic-title-list .component, .site-link-list .component { color: var(--byline-color); } // user link .mw-mf-user { color: var(--text-color); } // when amc is turned on .content .mw-index-pager-list-header { background-color: var(--body-mid); color: inherit; font-family: inherit; // sans } 034f95ce169f68098d996c37e340cc0c9b00972c MediaWiki:Minerva.less/diff.less 8 413 666 2024-03-22T20:35:15Z Jayden 3 base cp from rsw less less /* ==================== Special:MobileDiff ==================== */ // closely mimicking desktop .diff-editfont-monospace { font-family: monospace,monospace; } :root { --diff-deletedline-background: @apricot-peach; } // minor edit marker .minoredit { background: var(--body-mid); } #mw-mf-diffview { .mw-mf-diff-date { color: var(--byline-color); } .mw-diff-inline-deleted del, .mw-diff-inline-changed del { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); border-radius: .33em } .mw-diff-inline-added ins, .mw-diff-inline-changed ins { background: var(--diff-addedline-background); color: var(--diff-addedline-color); border-radius: .33em } .mw-diff-inline-moved { background: var(--diff-context-background); } } // Diff userinfo #mw-mf-diffview #mw-mf-userinfo { background: var(--body-light); border-top-color: var(--body-border); .mw-mf-edit-count { color: var(--text-color); div { color: var(--base-text-color); } } } b155dfe3ff1ce6ada2142b4627e1194a01b58572 Category:Template images 14 414 667 2024-03-22T20:35:21Z Habblet 11 Created page with "{{Categoryheader|images|templates||}} [[Category:Templates]] [[Category:Brighter Shores Wiki images]]" wikitext text/x-wiki {{Categoryheader|images|templates||}} [[Category:Templates]] [[Category:Brighter Shores Wiki images]] 563fbe816d5d52ef4d0bd5cad3e602f58883b16c Category:Disambiguation 14 415 668 2024-03-22T20:35:52Z Habblet 11 Created page with "{{Categoryheader|pages and images|[[BS:DISAMBIG|disambiguation pages]]|yes|[[Template:Disambig]]}} [[Category:Maintenance categories]]" wikitext text/x-wiki {{Categoryheader|pages and images|[[BS:DISAMBIG|disambiguation pages]]|yes|[[Template:Disambig]]}} [[Category:Maintenance categories]] 23c60d1d991c55c8c2df0027c01d2d199af1f6fb Brighter Shores:Orphanage/Disambiguation pages 4 416 669 2024-03-22T20:36:13Z Habblet 11 Created page with "This is a list of every disambiguation page. It helps keep these pages off of [[Special:LonelyPages]] <dpl> namespace = uses = Template:Disambig resultsheader = {| class="wikitable mw-collapsible mw-collapsed"\n! List of disambiguation pages (1-500)\n|-\n| format = ,\n#[[%PAGE%]] resultsfooter=\n|}\n </dpl> <dpl> namespace = uses = Template:Disambig resultsheader = {| class="wikitable mw-collapsible mw-collapsed"\n! List of disambiguation pages (501-1000)\n|-\n| offset..." wikitext text/x-wiki This is a list of every disambiguation page. It helps keep these pages off of [[Special:LonelyPages]] <dpl> namespace = uses = Template:Disambig resultsheader = {| class="wikitable mw-collapsible mw-collapsed"\n! List of disambiguation pages (1-500)\n|-\n| format = ,\n#[[%PAGE%]] resultsfooter=\n|}\n </dpl> <dpl> namespace = uses = Template:Disambig resultsheader = {| class="wikitable mw-collapsible mw-collapsed"\n! List of disambiguation pages (501-1000)\n|-\n| offset = 500 format = ,\n#[[%PAGE%]] resultsfooter=\n|}\n </dpl> <dpl> namespace = uses = Template:Disambig resultsheader = {| class="wikitable mw-collapsible mw-collapsed"\n! List of disambiguation pages (1001-1500)\n|-\n| offset = 1000 format = ,\n#[[%PAGE%]] resultsfooter=\n|}\n </dpl> <dpl> suppresserrors = true namespace = uses = Template:Disambig resultsheader = {| class="wikitable mw-collapsible mw-collapsed"\n! List of disambiguation pages (1501-2000)\n|-\n| offset = 1500 format = ,\n#[[%PAGE%]] resultsfooter=\n|}\n </dpl> <dpl> suppresserrors = true namespace = uses = Template:Disambig resultsheader = {| class="wikitable mw-collapsible mw-collapsed"\n! List of disambiguation pages (2001-2500)\n|-\n| offset = 2000 format = ,\n#[[%PAGE%]] resultsfooter=\n|}\n </dpl> <dpl> suppresserrors = true namespace = uses = Template:Disambig resultsheader = {| class="wikitable mw-collapsible mw-collapsed"\n! List of disambiguation pages (2501-%TOTALPAGES%)\n|-\n| offset = 2500 format = ,\n#[[%PAGE%]] resultsfooter=\n|}\n </dpl> 9dac900052ec29a4c44944a02afb91461e65d70b File:Profession forager.png 6 417 670 2024-03-22T20:36:14Z ToofleBerry 6 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Professions 0 56 671 628 2024-03-22T20:36:27Z ToofleBerry 6 wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. ==List of professions== {| class="wikitable" ! Image !! Name !! Uses |- | [[File:Profession fisher.png|70px]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|70px]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> {{Professions}} 76ece67ab4b63b98631a52f16c9dac51e2e19582 710 671 2024-03-22T22:22:10Z Jayden 3 wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> {{Professions}} a1b824c184e6ff46c3e7c6bdc155eeb4a10888fb 714 710 2024-03-22T22:25:01Z Jayden 3 wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> {{Professions}} {{Mechanics}} d9c0b750c926aad63e20d96d17df7e810a882421 MediaWiki:Minerva.less/infobox.less 8 418 672 2024-03-22T20:36:30Z Jayden 3 Created page with "/* ==================== infoboxes ==================== */ @infobox-background: @BODY_LIGHT; @infobox-header-color: @BODY_DARK; @infobox-border-color: @BODY_BORDER; @infobox-subheader-color: @BODY_DARK; .infobox { font-size: 85%; background-color: @infobox-background; border: 1px solid @infobox-border-color; box-shadow: @box-shadow; table-layout: fixed; // override minerva's mobile-friendlyness // our infoboxes shouldn't be scr..." less less /* ==================== infoboxes ==================== */ @infobox-background: @BODY_LIGHT; @infobox-header-color: @BODY_DARK; @infobox-border-color: @BODY_BORDER; @infobox-subheader-color: @BODY_DARK; .infobox { font-size: 85%; background-color: @infobox-background; border: 1px solid @infobox-border-color; box-shadow: @box-shadow; table-layout: fixed; // override minerva's mobile-friendlyness // our infoboxes shouldn't be scrollable anyway .content & { display: table; caption { display: table-caption; background: none; // bg in > 720px } } .infobox-header { color: var(--infobox-text-color); font-size: 1.15em; background: @infobox-header-color; padding: .5em 0; text-align: center; } .infobox-subheader { background: @infobox-subheader-color; line-height: 2em; text-align: center; a { color: var(--infobox-text-color); } } th:not(.infobox-nested):not(.infobox-subheader):not(.infobox-header) { text-align: right; vertical-align: top; border-right: 2px solid @infobox-subheader-color; padding: 0.2em 0.5em; } caption.infobox-caption { text-align: center; } td { padding: 0.25em 0.5em; line-height: 1.6em; &.infobox-nested { padding: 0.25em 0; line-height: 1em; } } .infobox-padding { height: 0.5em; padding: 0; border: 0; } .infobox-image { text-align: center; // for inventory icon in infobox item &.inventory-image { height: 32px; // functions as min-height } } .infobox-nested { text-align: center; &+.infobox-nested { border-left: 2px solid @infobox-subheader-color; } } .infobox-cell-hidden { display: none; } .infobox-full-width-content { max-width: 300px; text-align: center; overflow-x: hidden; padding: 0; } } // (dirty trick) Hide a silly bug in switch infoboxes: // switching between versions where there is a Quantity box followed by text will cause the text to be duplicated on switch // This currently only occurs where the text consists of "? (edit)" links, so hiding consecutive edit links works to hide this // This should ideally be fixed for real though, instead of just hiding it. .skill-info a[href$="?action=edit"] + a[href$="?action=edit"] { display: none; } .infobox-buttons { margin-top: 0.5em; text-align: center; } .infobox-bottom-links { display: none; } // Hides advanced data. Class gets replaced by .advanced-data-display // if the showAdvancedData gadget is enabled. .advanced-data { display: none; } @media screen and (min-width: @width-breakpoint-tablet) { .content table.infobox { float: right; margin-top: 0.5em; margin-left: 1em; width: 300px !important; // Needed to compete with !important for .content table &.skill-info { float: none; margin: 0 0 1em 0; } } } // [[Template:Multi Infobox]] styles .multi-infobox { margin-top: 0.5em; margin-bottom: 2.5em; .tabber { margin: 0; .tabbernav { text-align: center; margin-left: 0; } // extra specific to override base style .mw-body & .tabbertab { padding: 5px; } } table.infobox { margin: 0; } .infobox-buttons { margin-top: 0; } } @media screen and (min-width: @width-breakpoint-tablet) { .multi-infobox { float: right; margin-left: 1em; width: 300px; } } /* The following styles were used as a temporary fix for TabberNeue. We're currently using old Tabber because TabberNeue breaks if a tab dynamically changes size, such as multi-infobox. */ /* .multi-infobox { margin-top: 0.5em; margin-bottom: 2.5em; .tabber__header { text-align: center; margin-left: 0; justify-content: center; } .tabber__panel { margin: 0; padding: 0; } .tabber__panel.tabber__panel--active { width: 100%; } .infobox-buttons { margin-top: 0; } }*/ d93ee46801f2a9285c16b7dc80787383ac01aa1c MediaWiki:Minerva.less/tiles.less 8 419 673 2024-03-22T20:36:52Z Jayden 3 Created page with "// standard tile class // mainpage.less relies on this; check before changing anything /* ------------------ tile ------------------ */ .tile { padding: 1.5em 2em 1em; h2 { font-weight: 600; border: none; margin-top: .4em; } // reduce spacing when byline and heading appear together // (which should be the only way bylines appear) .byline + h2 { margin-top: -0.5em; } } /* ------------------..." less less // standard tile class // mainpage.less relies on this; check before changing anything /* ------------------ tile ------------------ */ .tile { padding: 1.5em 2em 1em; h2 { font-weight: 600; border: none; margin-top: .4em; } // reduce spacing when byline and heading appear together // (which should be the only way bylines appear) .byline + h2 { margin-top: -0.5em; } } /* ------------------ halves ------------------ */ // goes inside tile-halves .tile-top { padding: 1.3rem 1.5rem 2rem; } // goes inside tile-halves .tile-bottom { padding: 1rem 1.5rem 2rem; &.read-more { padding: 0; a { padding: 1em 1.75em; } } } /* --------------------- oswf tile --------------------- */ .tile.oswf-day { float: none !important; padding: .5em 2em; h2 { margin-right: auto; margin-left: auto; margin-top: -0.5em; } } .oswf-tile { margin-bottom: 1em; h2 { clear: none !important; margin-top: 0; padding-top: f2em !important; } .oswf-img { display: block; max-width: 75px; float: right; img { max-width: 100%; height: auto !important; } } } 53d6f4d827b94f08dfa151a1f72818e45fad66a5 674 673 2024-03-22T20:37:04Z Jayden 3 remove stuff that is going to be unnecessary less less // standard tile class // mainpage.less relies on this; check before changing anything /* ------------------ tile ------------------ */ .tile { padding: 1.5em 2em 1em; h2 { font-weight: 600; border: none; margin-top: .4em; }o // reduce spacing when byline and heading appear together // (which should be the only way bylines appear) .byline + h2 { margin-top: -0.5em; } } /* ------------------ halves ------------------ */ // goes inside tile-halves .tile-top { padding: 1.3rem 1.5rem 2rem; } // goes inside tile-halves .tile-bottom { padding: 1rem 1.5rem 2rem; &.read-more { padding: 0; a { padding: 1em 1.75em; } } } 17bef3c4cffe599f5a1a51a9bc964261d1ad5187 MediaWiki:Minerva.less/navbox.less 8 420 675 2024-03-22T20:37:26Z Jayden 3 Created page with "/* ==================== navboxes ==================== */ @navbox-indent: .85em; @navbox-breakpoint-mobile: @width-breakpoint-tablet - 1; @navbox-breakpoint-tablet: @width-breakpoint-tablet; :root { --mobile-navbox-wide-bg-color: desaturate( lighten( #d8ccb4, 3% ), 2% ); --mobile-navbox-linear-gradient: linear-gradient(to right, fade( @white, 0% ), var(--body-main) 95%, var(--body-main) ); } .navbox { border: 1px solid @BODY_BORDER; box-shadow: @b..." less less /* ==================== navboxes ==================== */ @navbox-indent: .85em; @navbox-breakpoint-mobile: @width-breakpoint-tablet - 1; @navbox-breakpoint-tablet: @width-breakpoint-tablet; :root { --mobile-navbox-wide-bg-color: desaturate( lighten( #d8ccb4, 3% ), 2% ); --mobile-navbox-linear-gradient: linear-gradient(to right, fade( @white, 0% ), var(--body-main) 95%, var(--body-main) ); } .navbox { border: 1px solid @BODY_BORDER; box-shadow: @box-shadow; font-size: .85em; // get rid of stray default mobile css .content & ul { padding-left: 0; li { margin-bottom: 0; } } @media screen and (max-width: @navbox-breakpoint-mobile) { td, th, tr, tbody, .navbox-subgroup { display: block; } } @media screen and (min-width: @navbox-breakpoint-tablet) { .content table&, .content & table { width: 100% !important; } } .navbox-subgroup { margin: 0; } .navbar { display: none; } // hide images to improve performance .plink-template, img { display: none; } } // main navbox heading .navbox-title { color: @TEXT_COLOR; background-color: @BODY_DARK; font-size: 140%; text-align: center; padding: .25em @navbox-indent; @media screen and (min-width: @navbox-breakpoint-tablet) { border-bottom: 1px solid @BODY_BORDER; } } // group headings .navbox-group-title { background-color: @BODY_MID; text-align: left; padding: .2em @navbox-indent; // truncate header @media screen and (max-width: @navbox-breakpoint-mobile) { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } @media screen and (min-width: @navbox-breakpoint-tablet) { border: 1px solid @BODY_BORDER; border-width: 0 1px 1px 0; width: 12vw; } } // hide title for half-normal-half-subgroup groups .navbox-group-title-hidden { display: none; } .navbox-list { padding: 0; position: relative; // needed for ::after @media screen and (min-width: @navbox-breakpoint-tablet) { border-bottom: 1px solid @BODY_BORDER; } ul { display: flex; @media screen and (max-width: @navbox-breakpoint-mobile) { white-space: nowrap; overflow-x: auto; // don't combine these into one overflow: overflow-y: hidden; -webkit-overflow-scrolling: touch; // for inertia scrolling } @media screen and (min-width: @navbox-breakpoint-tablet) { padding: .2em @navbox-indent .5em !important; flex-wrap: wrap; } } @media screen and (min-width: @navbox-breakpoint-tablet) { &[style*="center"] ul { justify-content: center; } } li { display: inline-flex; align-items: center; height: 3.5em; margin: 0 0 0 @navbox-indent; @media screen and (min-width: @navbox-breakpoint-tablet) { height: 2.1em; &:first-child { margin-left: 0; } } // create separator between links & + li::before { content: '•'; display: inline-block; white-space: pre-wrap; position: relative; left: -@navbox-indent / 2; color: var(--text-color); pointer-events: none; } // for list items that use [[File: instead of plink/chatl, // hide the second interpunct & + li > a + a::before { display: none; } &:last-child { margin-right: 2em; } } // gradient fade to indicate more content // <https://stackoverflow.com/questions/35801932/> &::after { content: ''; display: block; position: absolute; background-image: var(--mobile-navbox-linear-gradient); height: 100%; width: 2.5em; top: 0; right: 0; pointer-events: none; @media screen and (min-width: @navbox-breakpoint-tablet) { display: none; } } // for lists with subgroups as children instead of actual items &.navbox-parent { border-bottom: 0; padding: 0; &::after { display: none; } } } // nested groups .navbox-group { // two levels deep & & { .navbox-group-title { background-color: @BODY_LIGHT; padding: 0 @navbox-indent 0 @navbox-indent * 2; @media screen and (min-width: @navbox-breakpoint-tablet) { padding-left: @navbox-indent; } } .navbox-list { ul { padding-left: @navbox-indent * 2; } li { margin-bottom: 0; // realign first list item with heading &:first-child { margin-left: 0; } } } // fake only one level of indentation &.navbox-group-split .navbox-list ul { padding-left: @navbox-indent; } } // three levels deep & & & { &:first-child .navbox-group-title { padding-top: .5em; @media screen and (min-width: @navbox-breakpoint-tablet) { padding-top: 0; } } .navbox-group-title { background-color: transparent; padding-left: @navbox-indent * 3; @media screen and (min-width: @navbox-breakpoint-tablet) { background-color: var(--mobile-navbox-wide-bg-color); padding-left: @navbox-indent; } } .navbox-list ul { padding-left: @navbox-indent * 3; } // fake only two levels of indentation &.navbox-group-split .navbox-list ul { padding-left: @navbox-indent * 2; } } } 27a985ca4f34aa50502c7b315c97e28ff0601694 MediaWiki:Minerva.less/mainpage.less 8 421 676 2024-03-22T20:38:04Z Jayden 3 Created page with "/* =================== MAIN PAGE =================== */ // preview the mobile main page at <https://brightershoreswiki.org/?useformat=mobile> /* =================== mixins =================== */ .uppercase-heading(@text-color: var(--byline-color)) { color: @text-color; font-weight: bold; text-transform: uppercase; letter-spacing: .025em; } @keyframes slide-up { from { opacity: 0; transform: translateY(1rem)..." less less /* =================== MAIN PAGE =================== */ // preview the mobile main page at <https://brightershoreswiki.org/?useformat=mobile> /* =================== mixins =================== */ .uppercase-heading(@text-color: var(--byline-color)) { color: @text-color; font-weight: bold; text-transform: uppercase; letter-spacing: .025em; } @keyframes slide-up { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } } /* ==================== general styles ==================== */ .mainpage-header { margin: 2em 1em 0; // reduce margins .header-intro { @media only screen and (max-width: @width-breakpoint-desktop) { h1 { text-align: center; font-size: 1.8em; } p { font-size: 1em; // reset from 1.1m } } } } .mainpage-body { .tile-row { // common does width: 100% width: inherit; } } .mainpage-left { .tile { padding: 2.5em 1.75em 2em; h2 { padding: 0; margin: .65em .5em; } } .tile-halves { h2 { padding: 0; margin: .65em .5em; } } } /* ============================= section-specific styles ============================= */ /* -------------------- recent updates -------------------- */ .mainpage-recent-updates { padding: 1.5em 1em 2.5em; &::before { content: 'Recent updates'; display: block; margin-left: 1.5em; .uppercase-heading(); grid-column: ~"1 / 4"; } .tile-halves { display: inline-block; width: 100%; white-space: initial; flex: unset; &:nth-child(1) { animation: .9s .2s both slide-up; } &:nth-child(2) { animation: .9s .4s both slide-up; } &:nth-child(3) { animation: .9s .6s both slide-up; } } .tile-top { height: 9em; overflow: hidden; } .tile-bottom { padding-bottom: .5rem; } .byline { margin: 0; & + h2 { margin: .025em 0 0; padding: 0; } } // center recent updates for smaller widths @media only screen and (max-width: @width-breakpoint-tablet) { &::before { text-align: center; margin: 0; grid-column: auto; } } } /* -------------------- wiki contents -------------------- */ .mainpage-contents { background: var(--body-mid); padding: 55px 1em 2em 2.5em; overflow-x: auto; grid-template-columns: repeat(6, 1fr) !important; // shouldnt break into two position: relative; scroll-snap-align: center; &::before { content: 'Explore'; margin: 1em; position: absolute; top: 0; .uppercase-heading(@text-color: inherit); grid-column: ~"1 / 6"; } .tile-halves { border: none; background: none; box-shadow: none; width: 200px; } .tile-top { padding: 0; height: initial; } .tile-bottom { border: none; } h2 { width: 100%; } } /* -------------------- skills -------------------- */ .mainpage-skills .tile-top ul { @media only screen and (max-width: @width-breakpoint-desktop) { margin: 0; } } /* -------------------- wiki news -------------------- */ .mainpage-wikinews { &::before { content: 'From the wiki'; margin-left: .75em; .uppercase-heading(); } } /* -------------------- discord server -------------------- */ .mainpage-discord { .tile-top { padding: 1em 2em; height: 70px; // not in em because the server icon is a fixed size .partner-icon { margin-right: 1em; } .server-name { margin: 0; } .server-tagline { margin: 0; } } } /* -------------------- twitter -------------------- */ .mainpage-twitter { margin-bottom: 0; .tile-top { padding: 1em 2em; height: 70px; // not in em because the server icon is a fixed size .twitter-logo { margin-right: 1em; } .twitter-name { margin: 0; } .twitter-tagline { margin: 0; } } } ede6ec3d60fc69fa30a86d2b1660dd20ec07efc1 MediaWiki:Minerva.css 8 422 677 2024-03-22T20:38:11Z Jayden 3 Updating CSS from [[MediaWiki:Minerva.less]] css text/css /* <pre> */ body { font-family: system-ui, -apple-system, Roboto, Helvetica, sans-serif; } @media all and (max-width: 320px) { body { font-size: 0.9em; } } .content { line-height: 1.7; } .pre-content h1, .content h1, .content h2 { font-weight: bold; } body { background: var(--body-background-color); color: var(--text-color); } select { color: var(--text-color); } a:not( [ href ] ) { color: inherit; } a.external, .mw-parser-output a.external { background-image: var(--external-icon); } blockquote { border-color: var(--body-mid); font-family: inherit; } .pre-content h1 { text-align: center; } .mw-parser-output h2:first-of-type { clear: both; } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .plainlist ol, .content .plainlist ul { padding: 0; } .content p { margin: 0.5em 0; } .content hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } .content kbd, .content samp { border: none; } .content code, .content pre { background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='%23000'%3E%3Cpath d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM3 8a5 5 0 1 0 10 0A5 5 0 1 0 3 8z'/%3E%3C/g%3E%3C/svg%3E"); --external-icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cg fill='%23906039'%3E%3Cpath d='M8.9 8.9H1.1V1.1h2.8V0H1.1C.5 0 0 .5 0 1.1v7.8C0 9.5.5 10 1.1 10h7.8c.6 0 1.1-.5 1.1-1.1V6.1H8.9v2.8z'/%3E%3Cpath d='M10 0H5.6l1.8 1.8L4.2 5l.8.8 3.2-3.2L10 4.4V0z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-center { background-color: transparent; } .header { border-top: none; } .header-container.header-chrome { background: var(--body-background-image) var(--body-background-color) no-repeat; background-color: var(--body-background-color); background-size: 900px; box-shadow: inset 0 -1px 3px rgba(0, 0, 0, 0.1); } .header-container .notification-count { border-radius: 50%; } .header-container .notification-count.notification-unseen { background: none; } .header-container .branding-box { opacity: 1; } .search-box { text-align: right; } .search-box .search { background-color: var(--search-box); border-color: var(--search-box); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .search-box .search::placeholder { color: var(--byline-color); } .client-nojs .search-box .search:focus, .search-overlay .search-box .search:focus { border-color: var(--link-color); box-shadow: inset 0 0 0 1px var(--link-color), 0 1px 1px rgba(0, 0, 0, 0.05); } .mw-ui-background-icon-search { background-image: var(--searchbutton-icon); } .overlay { background: var(--body-main); } .overlay textarea { color: var(--text-color); } .overlay.search-overlay { background: var(--body-main); } .overlay.search-overlay .results, .overlay.search-overlay .search-feedback { background-color: var(--body-light); } .overlay.search-overlay .search-content { border-color: var(--body-mid); } .overlay .license { color: var(--base-text-color); } .overlay .panel { border-color: var(--sidebar); } .overlay .content-header { background-color: var(--body-light); border-color: transparent; } .overlay.overlay-loading { background: var(--ooui-window-background); } .overlay .overlay-content { background: var(--body-main); } .page-summary h2, .page-summary h3 { color: var(--text-color); } .page-list li, .topic-title-list li, .site-link-list li { border-color: var(--body-mid); } .overlay-enabled .overlay:not(.editor-overlay), .overlay-enabled #mw-mf-page-center { overflow-y: scroll; } .overlay-header-container, .overlay-footer-container { background-color: var(--body-background-color); border-color: transparent; } .editor-overlay .wikitext-editor { color: var(--text-color); } .editor-overlay .overlay-header { outline-color: transparent; } .editor-overlay .summary-request { color: var(--text-color); } .editor-overlay .editor-switcher { border: none; } .action-submit .mw-editnotice .action-edit .mw-editnotice, .action-submit .mw-editTools, .action-edit .mw-editTools, .action-submit .preview-limit-report-wrapper, .action-edit .preview-limit-report-wrapper, .action-submit .diff-otitle, .action-edit .diff-otitle, .action-submit .diff-ntitle, .action-edit .diff-ntitle, .action-submit #section_0, .action-edit #section_0, .action-submit #editpage-copywarn, .action-edit #editpage-copywarn, .action-submit #mw-anon-edit-warning, .action-edit #mw-anon-edit-warning { color: var(--byline-color); } .wikitext-editor { background-color: var(--body-main); } .ve-mobile-fakeToolbar { border: none; } .ve-mobile-fakeToolbar-container { background: var(--body-background-color); border: none; } .ve-mobile-fakeToolbar .mw-ui-icon-mf-spinner { border-color: transparent; } .ve-ui-targetToolbar-mobile .oo-ui-toolbar-tools > .ve-ui-toolbar-group-back { border-color: transparent; } .ve-ui-mobileContext { background-color: var(--body-light); border-color: var(--body-light); } .ve-ui-mobileContext .ve-ui-linearContextItem-body-action-wrapper { border-color: var(--body-border); } .ve-ui-linearContextItem-foot:not(:empty) { border-color: var(--body-border); } .ve-ui-mwSaveDialog-options { backgroubd-color: var(--body-light); border-color: var(--body-mid); } .page-actions-menu { border-color: var(--sidebar); } #language-selector { display: none; } .minerva__tab-container .minerva__tab { color: var(--text-color); } .minerva__tab-container .minerva__tab.new, .minerva__tab-container .minerva__tab.new:visited, .minerva__tab-container .minerva__tab.new:hover, .minerva__tab-container .minerva__tab.new:active { color: var(--redlink-color); } .minerva__tab-container .minerva__tab.selected { border-color: var(--body-border); } .heading-holder .tagline { color: var(--base-heading-color); } .minerva-footer { border-color: transparent; } .mw-footer > .post-content { margin-top: 32px; } .mw-footer > .post-content > .minerva-footer-logo { display: none; } .mw-footer .hlist li:after { color: var(--background-text-color); } .last-modified-bar { border-top: 1px solid; border-color: transparent; background: none; color: var(--text-color); } .last-modified-bar a, .last-modified-bar a:active, .last-modified-bar a:visited, .last-modified-bar .last-modified-text-accent { color: var(--background-text-color); } .last-modified-bar.active, .last-modified-bar.active:active, .last-modified-bar.active:visited, .last-modified-bar.active .last-modified-text-accent { color: #fff; } .mw-ui-icon-mf-expand-gray:not(.mw-ui-icon-mf-expand-invert):before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eexpand%3C/title%3E%3Cg fill='%2354595d'%3E%3Cpath d='M17.5 4.75l-7.5 7.5-7.5-7.5L1 6.25l9 9 9-9z'/%3E%3C/g%3E%3C/svg%3E"); } .toggle-list__list { background-color: var(--wikitable-bg); } .toggle-list-item__anchor:visited, .toggle-list-item__anchor:active { color: var(--base-text-color); } .toggle-list-item:hover { background: var(--wikitable-bg-lighter); } .toggle-list-item__label { color: var(--base-text-color); } .mw-ui-icon-wikimedia-search-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esearch%3C/title%3E%3Cg fill='white'%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 111.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 113 8a5 5 0 0110 0z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-menu-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Emenu%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M1 3v2h18V3zm0 8h18V9H1zm0 6h18v-2H1z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-bellOutline-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Ebell%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M11.5 2.19C14.09 2.86 16 5.2 16 8v6l2 2v1H2v-1l2-2V8c0-2.8 1.91-5.14 4.5-5.81V1.5C8.5.67 9.17 0 10 0s1.5.67 1.5 1.5v.69zM10 4C7.79 4 6 5.79 6 8v7h8V8c0-2.21-1.79-4-4-4zM8 18h4c0 1.1-.9 2-2 2s-2-.9-2-2z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-minerva-userAvatarOutline:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Euser avatar%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M10 8c1.7 0 3.06-1.35 3.06-3S11.7 2 10 2 6.94 3.35 6.94 5 8.3 8 10 8zm0 2c-2.8 0-5.06-2.24-5.06-5S7.2 0 10 0s5.06 2.24 5.06 5-2.26 5-5.06 5zm-7 8h14v-1.33c0-1.75-2.31-3.56-7-3.56s-7 1.81-7 3.56V18zm7-6.89c6.66 0 9 3.33 9 5.56V20H1v-3.33c0-2.23 2.34-5.56 9-5.56z'/%3E%3C/g%3E%3C/svg%3E%0A"); } @media all and (min-width: 1000px) { .mw-ui-icon-with-label-desktop, .mw-ui-icon-with-label-desktop:hover, .mw-ui-icon-with-label-desktop:focus, .mw-ui-icon-with-label-desktop:active, .mw-ui-icon-with-label-desktop:visited { color: var(--base-text-color) !important; } } .header-action .mw-ui-icon-mf-close-base20:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclose%3C/title%3E%3Cg fill='%23fff'%3E%3Cpath d='m4.3 2.9 12.8 12.8-1.4 1.4L2.9 4.3z'/%3E%3Cpath d='M17.1 4.3 4.3 17.1l-1.4-1.4L15.7 2.9z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-left { background-color: var(--body-background-color); } #mw-mf-page-left .secondary-action { border-left-color: var(--body-mid); } #mw-mf-page-left ul li { background-color: var(--body-main); border-color: var(--body-mid); } #mw-mf-page-left ul li a { color: var(--base-text-color); } #mw-mf-page-left ul li a:hover { box-shadow: inset 4px 0 0 0 var(--link-color); } #mw-mf-page-left ul.hlist li a { color: var(--background-link-color); } #mw-mf-page-left ul.hlist li a span { font-size: 0.8125rem; } .notifications-overlay.navigation-drawer { box-shadow: -1px 0 8px 0 rgba(0, 0, 0, 0.35); } .notifications-overlay .mw-echo-ui-actionMenuPopupWidget-menu { border: none; } .mw-ui-anchor.mw-ui-progressive, .mw-ui-anchor.mw-ui-progressive:active, .mw-ui-anchor.mw-ui-progressive:hover, .mw-ui-anchor.mw-ui-progressive:focus { color: var(--link-color); } .minerva-talk-full-page-button { background-color: var(--body-main); border-color: var(--body-dark); color: var(--link-color); } .minerva-talk-content-explained { border-color: var(--sidebar); color: var(--base-text-color); } .talk-overlay .comment .wikitext-editor { border-color: var(--body-border); } .client-js .skin-minerva--talk-simplified .section-heading { border-color: var(--sidebar); } .mw-notification a, .toast a { color: var(--link-color); } .drawer { background-color: var(--body-light); } .drawer.references-drawer { background-color: var(--body-light); color: var(--text-color); } .drawer.references-drawer a { color: var(--link-color); } .drawer.references-drawer .references-drawer__title { color: var(--text-color); } .drawer.references-drawer .mw-ui-icon::before { filter: brightness(0); } .cta-holder { background: var(--body-light); } .cta-holder .desc { color: var(--byline-color); } .mw-tag-marker { border-color: var(--body-border); } .oo-ui-toolGroup { background: var(--body-background-color); } .load-fail-msg { color: var(--text-color); } .load-fail-msg-link a { color: var(--link-color); } .image-carousel .image-loaded { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E%0A") repeat; } .image-details { background-color: var(--body-light); border-color: transparent; } @media all and (min-width: 720px) { .ns-special .pre-content { background-color: transparent; } .ns-special .mw-body { background: var(--body-main); } .ns-special .mw-body form { background: transparent; } } form.mw-mf-settings .oo-ui-fieldLayout, form.mw-mf-settings .oo-ui-fieldLayout:first-child { border-color: var(--body-mid); } .ns-special .content-header { border-bottom-color: var(--body-dark); } .action-history .mw-history-compareselectedversions { background-color: var(--body-main); } .action-history #pagehistory li:not(.selected) { border-bottom-color: var(--sidebar); } ul.mw-contributions-list li, ul.special li { border-color: var(--sidebar); } .page-list li > a:not(.mw-ui-icon-element), .topic-title-list li > a:not(.mw-ui-icon-element), .site-link-list li > a:not(.mw-ui-icon-element) { color: var(--byline-color); } .page-list.side-list .list-thumb, .topic-title-list.side-list .list-thumb, .site-link-list.side-list .list-thumb { color: var(--text-color); } .page-list .info, .topic-title-list .info, .site-link-list .info, .page-list .component, .topic-title-list .component, .site-link-list .component { color: var(--byline-color); } .mw-mf-user { color: var(--text-color); } .content .mw-index-pager-list-header { background-color: var(--body-mid); color: inherit; font-family: inherit; } .diff-editfont-monospace { font-family: monospace,monospace; } :root { --diff-deletedline-background: #fbc0ba; } .minoredit { background: var(--body-mid); } #mw-mf-diffview .mw-mf-diff-date { color: var(--byline-color); } #mw-mf-diffview .mw-diff-inline-deleted del, #mw-mf-diffview .mw-diff-inline-changed del { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-added ins, #mw-mf-diffview .mw-diff-inline-changed ins { background: var(--diff-addedline-background); color: var(--diff-addedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-moved { background: var(--diff-context-background); } #mw-mf-diffview #mw-mf-userinfo { background: var(--body-light); border-top-color: var(--body-border); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count { color: var(--text-color); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count div { color: var(--base-text-color); } .infobox { font-size: 85%; background-color: var(--body-light); border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); table-layout: fixed; } .content .infobox { display: table; } .content .infobox caption { display: table-caption; background: none; } .infobox .infobox-header { color: var(--infobox-text-color); font-size: 1.15em; background: var(--body-dark); padding: 0.5em 0; text-align: center; } .infobox .infobox-subheader { background: var(--body-dark); line-height: 2em; text-align: center; } .infobox .infobox-subheader a { color: var(--infobox-text-color); } .infobox th:not(.infobox-nested):not(.infobox-subheader):not(.infobox-header) { text-align: right; vertical-align: top; border-right: 2px solid var(--body-dark); padding: 0.2em 0.5em; } .infobox caption.infobox-caption { text-align: center; } .infobox td { padding: 0.25em 0.5em; line-height: 1.6em; } .infobox td.infobox-nested { padding: 0.25em 0; line-height: 1em; } .infobox .infobox-padding { height: 0.5em; padding: 0; border: 0; } .infobox .infobox-image { text-align: center; } .infobox .infobox-image.inventory-image { height: 32px; } .infobox .infobox-nested { text-align: center; } .infobox .infobox-nested + .infobox-nested { border-left: 2px solid var(--body-dark); } .infobox .infobox-cell-hidden { display: none; } .infobox .infobox-full-width-content { max-width: 300px; text-align: center; overflow-x: hidden; padding: 0; } .skill-info a[href$="?action=edit"] + a[href$="?action=edit"] { display: none; } .infobox-buttons { margin-top: 0.5em; text-align: center; } .infobox-bottom-links { display: none; } .advanced-data { display: none; } @media screen and (min-width: 720px) { .content table.infobox { float: right; margin-top: 0.5em; margin-left: 1em; width: 300px !important; } .content table.infobox.skill-info { float: none; margin: 0 0 1em 0; } } .multi-infobox { margin-top: 0.5em; margin-bottom: 2.5em; } .multi-infobox .tabber { margin: 0; } .multi-infobox .tabber .tabbernav { text-align: center; margin-left: 0; } .mw-body .multi-infobox .tabber .tabbertab { padding: 5px; } .multi-infobox table.infobox { margin: 0; } .multi-infobox .infobox-buttons { margin-top: 0; } @media screen and (min-width: 720px) { .multi-infobox { float: right; margin-left: 1em; width: 300px; } } .tile { padding: 1.5em 2em 1em; } .tile h2 { font-weight: 600; border: none; margin-top: 0.4em; } .tile o .byline + h2 { margin-top: -0.5em; } .tile-top { padding: 1.3rem 1.5rem 2rem; } .tile-bottom { padding: 1rem 1.5rem 2rem; } .tile-bottom.read-more { padding: 0; } .tile-bottom.read-more a { padding: 1em 1.75em; } :root { --mobile-navbox-wide-bg-color: #dcd3bf; --mobile-navbox-linear-gradient: linear-gradient(to right, rgba(255, 255, 255, 0), var(--body-main) 95%, var(--body-main)); } .navbox { border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); font-size: 0.85em; } .content .navbox ul { padding-left: 0; } .content .navbox ul li { margin-bottom: 0; } @media screen and (max-width: 719px) { .navbox td, .navbox th, .navbox tr, .navbox tbody, .navbox .navbox-subgroup { display: block; } } @media screen and (min-width: 720px) { .content table.navbox, .content .navbox table { width: 100% !important; } } .navbox .navbox-subgroup { margin: 0; } .navbox .navbar { display: none; } .navbox .plink-template, .navbox img { display: none; } .navbox-title { color: var(--text-color); background-color: var(--body-dark); font-size: 140%; text-align: center; padding: 0.25em 0.85em; } @media screen and (min-width: 720px) { .navbox-title { border-bottom: 1px solid var(--body-border); } } .navbox-group-title { background-color: var(--body-mid); text-align: left; padding: 0.2em 0.85em; } @media screen and (max-width: 719px) { .navbox-group-title { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } } @media screen and (min-width: 720px) { .navbox-group-title { border: 1px solid var(--body-border); border-width: 0 1px 1px 0; width: 12vw; } } .navbox-group-title-hidden { display: none; } .navbox-list { padding: 0; position: relative; } @media screen and (min-width: 720px) { .navbox-list { border-bottom: 1px solid var(--body-border); } } .navbox-list ul { display: flex; } @media screen and (max-width: 719px) { .navbox-list ul { white-space: nowrap; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; } } @media screen and (min-width: 720px) { .navbox-list ul { padding: 0.2em 0.85em 0.5em !important; flex-wrap: wrap; } } @media screen and (min-width: 720px) { .navbox-list[style*="center"] ul { justify-content: center; } } .navbox-list li { display: inline-flex; align-items: center; height: 3.5em; margin: 0 0 0 0.85em; } @media screen and (min-width: 720px) { .navbox-list li { height: 2.1em; } .navbox-list li:first-child { margin-left: 0; } } .navbox-list li + li::before { content: '•'; display: inline-block; white-space: pre-wrap; position: relative; left: -0.425em; color: var(--text-color); pointer-events: none; } .navbox-list li + li > a + a::before { display: none; } .navbox-list li:last-child { margin-right: 2em; } .navbox-list::after { content: ''; display: block; position: absolute; background-image: var(--mobile-navbox-linear-gradient); height: 100%; width: 2.5em; top: 0; right: 0; pointer-events: none; } @media screen and (min-width: 720px) { .navbox-list::after { display: none; } } .navbox-list.navbox-parent { border-bottom: 0; padding: 0; } .navbox-list.navbox-parent::after { display: none; } .navbox-group .navbox-group .navbox-group-title { background-color: var(--body-light); padding: 0 0.85em 0 1.7em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group-title { padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-list ul { padding-left: 1.7em; } .navbox-group .navbox-group .navbox-list li { margin-bottom: 0; } .navbox-group .navbox-group .navbox-list li:first-child { margin-left: 0; } .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 0.85em; } .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0.5em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0; } } .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: transparent; padding-left: 2.55em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: var(--mobile-navbox-wide-bg-color); padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-group .navbox-list ul { padding-left: 2.55em; } .navbox-group .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 1.7em; } @keyframes slide-up { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } } .mainpage-header { margin: 2em 1em 0; } @media only screen and (max-width: 1000px) { .mainpage-header .header-intro h1 { text-align: center; font-size: 1.8em; } .mainpage-header .header-intro p { font-size: 1em; } } .mainpage-body .tile-row { width: inherit; } .mainpage-left .tile { padding: 2.5em 1.75em 2em; } .mainpage-left .tile h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-left .tile-halves h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-recent-updates { padding: 1.5em 1em 2.5em; } .mainpage-recent-updates::before { content: 'Recent updates'; display: block; margin-left: 1.5em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 4; } .mainpage-recent-updates .tile-halves { display: inline-block; width: 100%; white-space: initial; flex: unset; } .mainpage-recent-updates .tile-halves:nth-child(1) { animation: 0.9s 0.2s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(2) { animation: 0.9s 0.4s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(3) { animation: 0.9s 0.6s both slide-up; } .mainpage-recent-updates .tile-top { height: 9em; overflow: hidden; } .mainpage-recent-updates .tile-bottom { padding-bottom: 0.5rem; } .mainpage-recent-updates .byline { margin: 0; } .mainpage-recent-updates .byline + h2 { margin: 0.025em 0 0; padding: 0; } @media only screen and (max-width: 720px) { .mainpage-recent-updates::before { text-align: center; margin: 0; grid-column: auto; } } .mainpage-contents { background: var(--body-mid); padding: 55px 1em 2em 2.5em; overflow-x: auto; grid-template-columns: repeat(6, 1fr) !important; position: relative; scroll-snap-align: center; } .mainpage-contents::before { content: 'Explore'; margin: 1em; position: absolute; top: 0; color: inherit; font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 6; } .mainpage-contents .tile-halves { border: none; background: none; box-shadow: none; width: 200px; } .mainpage-contents .tile-top { padding: 0; height: initial; } .mainpage-contents .tile-bottom { border: none; } .mainpage-contents h2 { width: 100%; } @media only screen and (max-width: 1000px) { .mainpage-skills .tile-top ul { margin: 0; } } .mainpage-wikinews::before { content: 'From the wiki'; margin-left: 0.75em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; } .mainpage-discord .tile-top { padding: 1em 2em; height: 70px; } .mainpage-discord .tile-top .partner-icon { margin-right: 1em; } .mainpage-discord .tile-top .server-name { margin: 0; } .mainpage-discord .tile-top .server-tagline { margin: 0; } .mainpage-twitter { margin-bottom: 0; } .mainpage-twitter .tile-top { padding: 1em 2em; height: 70px; } .mainpage-twitter .tile-top .twitter-logo { margin-right: 1em; } .mainpage-twitter .tile-top .twitter-name { margin: 0; } .mainpage-twitter .tile-top .twitter-tagline { margin: 0; } .wikitable { background: none; box-shadow: none; } .wikitable tbody { background: var(--body-light); } .toc { background-color: var(--body-light); border-color: var(--body-border); } #filetoc li { display: inline; padding-right: 2em; } .mw-dismissable-notice-body { margin: 0; } .mw-dismissable-notice-body .mw-dismissable-notice-close-parent { border-radius: 0 !important; font-size: 0.75em; } :root { --thumb-image-background: var(--body-light); --thumb-caption-background: var(--body-mid); } .content .thumbinner { background-color: var(--thumb-bg); } .content .thumbimage { border: 1px solid transparent; border-bottom: none; } .content .thumbcaption { margin: 0; padding: 4px 6px !important; color: inherit; background: var(--thumb-caption-bg); } .content table.messagebox { margin: 0.5em auto; } .content table a > img { max-width: inherit !important; height: inherit !important; } .content .infobox a > img { max-width: 100% !important; height: auto !important; } .content .infobox-bonuses a > img { max-width: inherit !important; height: inherit !important; } 5d5316eb0454c64e11ed9ce7c4f97455f8fdb042 Template:Incomplete 10 423 678 2024-03-22T20:38:21Z Habblet 11 Created page with "{{MessageBox |img = [[File:Item raw basic bacon.png|32px|centre|link=]] |This {{PageType}} or section is incomplete and could do with improvement. |2={{#if:{{{1|}}}|Reason: ''{{{1}}}''<br />}}You can discuss this issue on the [{{fullurl:{{TALKPAGENAME}}}} talk page] or <span class="plainlinks">[{{fullurl:{{NAMESPACE}}:{{PAGENAME}}|action=edit}} edit]</span> this {{PageType}} to improve it. }}<includeonly>{{#ifeq:{{{nocat|}}}|yes||{{#if:{{{1|}}}|{{#ifeq:{{NAMESPACE}}|{{ns..." wikitext text/x-wiki {{MessageBox |img = [[File:Item raw basic bacon.png|32px|centre|link=]] |This {{PageType}} or section is incomplete and could do with improvement. |2={{#if:{{{1|}}}|Reason: ''{{{1}}}''<br />}}You can discuss this issue on the [{{fullurl:{{TALKPAGENAME}}}} talk page] or <span class="plainlinks">[{{fullurl:{{NAMESPACE}}:{{PAGENAME}}|action=edit}} edit]</span> this {{PageType}} to improve it. }}<includeonly>{{#ifeq:{{{nocat|}}}|yes||{{#if:{{{1|}}}|{{#ifeq:{{NAMESPACE}}|{{ns:Transcript}}|[[Category:Incomplete transcripts]]|[[Category:Incomplete articles]]}}|[[Category:Incomplete without reason]]}}}}</includeonly><noinclude>{{/doc}}</noinclude> 0abf1af99b1398c7584f484ca15c401bdcb87d72 Template:Incomplete/doc 10 424 679 2024-03-22T20:39:01Z Habblet 11 Created page with "{{Documentation}} This template is used when something on an article or section is missing. Also adds the page to one of: [[:Category:Incomplete transcripts]], [[:Category:Incomplete articles]] or [[:Category:Incomplete without reason]]. ==Usage== {{T|Incomplete|reason}} ==Examples== {{t|Incomplete|There are more ways available}} {{Incomplete|There are more ways available|nocat=yes}} {{TemplateData|<templatedata> { "params": { "1": { "label": "Reason", "de..." wikitext text/x-wiki {{Documentation}} This template is used when something on an article or section is missing. Also adds the page to one of: [[:Category:Incomplete transcripts]], [[:Category:Incomplete articles]] or [[:Category:Incomplete without reason]]. ==Usage== {{T|Incomplete|reason}} ==Examples== {{t|Incomplete|There are more ways available}} {{Incomplete|There are more ways available|nocat=yes}} {{TemplateData|<templatedata> { "params": { "1": { "label": "Reason", "description": "Reason why this article is incomplete.", "type": "string" }, "nocat": { "label": "Nocat", "description": "Set to 'yes' to suppress adding category to page. Useful for examples.", "type": "string" } }, "format": "inline" } </templatedata>}} <includeonly>[[Category:Maintenance templates|{{PAGENAME}}]][[Category:Message box templates|{{PAGENAME}}]]</includeonly> bf329ef6a2073085a1432dd0f807ee8a4c4dc5a8 Category:Incomplete transcripts 14 425 680 2024-03-22T20:39:17Z Habblet 11 Created page with "[[Category:Transcripts]] [[Category:Maintenance categories]]" wikitext text/x-wiki [[Category:Transcripts]] [[Category:Maintenance categories]] c9cd2ce4ae75c5bd4d01c26cb8757da58597b9e8 Category:Transcripts 14 426 681 2024-03-22T20:40:03Z Habblet 11 Created page with "{{Categoryheader|pages and images|transcripts and dialogue pages. Fen Research owns the copyright of content found on these pages|}} [[Category:Lore]]" wikitext text/x-wiki {{Categoryheader|pages and images|transcripts and dialogue pages. Fen Research owns the copyright of content found on these pages|}} [[Category:Lore]] 58284ae1887defcc2a369dfab34b55e278b80084 Category:Lore 14 427 682 2024-03-22T20:40:20Z Habblet 11 Created page with "{{Categoryheader|pages|game lore}} [[Category:Content]]" wikitext text/x-wiki {{Categoryheader|pages|game lore}} [[Category:Content]] da44b134422dcf3e5b7fd965945694d363e2d66c Category:Incomplete articles 14 428 683 2024-03-22T20:40:52Z Habblet 11 Created page with "{{Categoryheader|pages|articles that are considered to be incomplete|yes|[[Template:Incomplete]]}} [[Category:Maintenance categories]]" wikitext text/x-wiki {{Categoryheader|pages|articles that are considered to be incomplete|yes|[[Template:Incomplete]]}} [[Category:Maintenance categories]] bc0d50774fbd2c88d075c79b820e28cd57a0849f Category:Incomplete without reason 14 429 684 2024-03-22T20:41:24Z Habblet 11 Created page with " [[Category:Maintenance categories]]" wikitext text/x-wiki [[Category:Maintenance categories]] b1a4b641aab16a192126f4b327434384c6db6507 Brighter Shores:Orphanage 4 368 685 609 2024-03-22T20:42:44Z Habblet 11 wikitext text/x-wiki {{Otheruses|orphaned pages, templates, and files|the policy on article ownership|Brighter Shores:Ownership}} {{Shortcut|BS:ORPHAN|BS:O}} '''Brighter Shores:Orphanage''' is a place where '''orphaned pages and files''' are "stored" to prevent them from appearing in [[Special:LonelyPages]] and [[Special:UnusedFiles]]. <span style="color:red; font-weight:bold">Pages (or images) should not be linked here just because they appear in these special pages, but linked because they are "orphans".</span> (See the definition of "orphan" below.) ==What is an orphan?== There are several factors that can classify an article as an orphan: *'''Orphan:''' An article with '''<span style="color:red">fewer than three</span>''' incoming links which meet the criteria for linking below. *'''Isolated article:''' An article that cannot be reached via a series of links from the [[Brighter Shores Wiki|Main Page]]. *'''Walled garden:''' A group of articles that link to each other, but have few or no links to them from any other Brighter Shores Wiki articles. In effect, that group is orphaned. Theoretically, a walled garden could have numerous articles if they all link to each other but no others link to them. *'''Orphaned project page:''' A project page (starting with "Brighter Shores:") with few or no links from other project pages. Essays are most likely to be orphaned. *'''Orphaned image:''' An image not used on Brighter Shores Wiki directly. ==What is the problem with an orphaned article?== '''A company with no advertising will not be known to others, and as a result, will get few if any customers.''' Likewise, orphaned articles, since they have few links to them from other pages, are difficult to find, and are most likely to be found only by chance. Because of this, few people know they exist, and therefore, they get less readership and improvement from those who would be able to improve them. In particular, if the topic is more obscure, this may make it difficult for many to locate. If not for links to a page, the only way such an article can be found is by a person who knows the topic entering it into Brighter Shores Wiki or doing a web search, browsing a category in which it is contained, looking at the edit history of a contributor to the page, or having it show up as a random article. ==Criteria== An article is orphaned if '''<span style="color:red">fewer than three</span>''' other articles link to it. '''Currently our priority is to focus on orphans with NO incoming links at all.''' For the purposes of the strict definition, the following pages do not count toward the three incoming links: *Disambiguation pages *Redirects *Lists *Discussion pages of articles *Pages outside of article space Ideally, except for disambiguation links, '''disambiguation pages should be orphaned'''. The only pages that should link to them are articles bearing the title (via templates such as [[Template:Redirect]]) and "See also" sections of other disambiguation pages (when separate disambiguation pages are created due to long length or variances in the titles). ==List of orphaned articles== A list of orphaned articles can be found at [[Special:LonelyPages]] {{Construction}} ==Disambiguation pages== {{Main|/Disambiguation pages}} '''Disambiguation pages''' are created in order to resolve conflicts in article titles that occur when a single term can be associated with more than one topic, making that term likely to be the natural title for more than one article. In other words, disambiguations are paths leading to different articles which could, in principle, have the same title. ==Templates== A list of orphaned templates can be found here: [[Special:UnusedTemplates]] ===Signatures=== Orphaned signatures can be found here: [[Template:Signatures/List]] ===Miscellaneous templates=== Miscellaneous orphaned templates can be found here: [[Brighter Shores:Orphanage/Templates]] ==Gallery of orphaned files== {{incomplete|Compile all orphaned files, and explain their uses.}} Some files may appear in the [[Special:UnusedFiles|Unused Files]] list if they are not directly used in an article. These files are considered '''orphaned files'''. ===General=== <gallery orientation=landscape> Wiki@2x.png </gallery> ===UI Icons=== UI Icons <gallery> Section anchor light.svg|Anchor icon for section headers </gallery> [[Category:Brighter Shores Wiki community]] 6e098427a4a6fee7365d005bbe2286ada3026d62 File:Wiki@wordmark.png 6 430 686 2024-03-22T20:44:40Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 687 686 2024-03-22T20:44:46Z Jayden 3 Protected "[[File:Wiki@wordmark.png]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Captain Jal Degreene 0 431 688 2024-03-22T20:47:27Z Brok 15 Created page with "'''Captain Jal Degreene''' is an Npc. In the Main Story, the Player needs clearance from him to get access into the Mince Entrance. [[Category:NPCs]]" wikitext text/x-wiki '''Captain Jal Degreene''' is an Npc. In the Main Story, the Player needs clearance from him to get access into the Mince Entrance. [[Category:NPCs]] 7fcc1426fdce226a6442d4bb1b32370462e72fc6 689 688 2024-03-22T20:47:59Z Brok 15 wikitext text/x-wiki '''Captain Jal Degreene''' is an Npc. In the Main Story, the Player needs clearance from him to get access into the Mine Entrance. [[Category:NPCs]] 5bead4d22684eb007ffc5b5cf79c9a7cccac2b64 Brighter Shores:About 4 432 690 2024-03-22T20:48:57Z Habblet 11 Created page with "{{shortcut|BS:ABOUT|BS:BSW|BS:WIKI}} The '''Brighter Shores Wiki''' is a [[wikipedia:wiki|wiki]] based entirely on the MMORPG game ''[[Brighter Shores]]'' and its many features. There are currently {{NUMBEROFARTICLES}} articles and {{NUMBEROFFILES}} files on the Brighter Shores Wiki, with {{NUMBEROFEDITS}} edits made to {{NUMBEROFPAGES}} pages in total. The wiki currently has {{NUMBEROFACTIVEUSERS}} [[Brighter Shores:Access levels|active users]] and {{NUMBEROFADMINS}} ..." wikitext text/x-wiki {{shortcut|BS:ABOUT|BS:BSW|BS:WIKI}} The '''Brighter Shores Wiki''' is a [[wikipedia:wiki|wiki]] based entirely on the MMORPG game ''[[Brighter Shores]]'' and its many features. There are currently {{NUMBEROFARTICLES}} articles and {{NUMBEROFFILES}} files on the Brighter Shores Wiki, with {{NUMBEROFEDITS}} edits made to {{NUMBEROFPAGES}} pages in total. The wiki currently has {{NUMBEROFACTIVEUSERS}} [[Brighter Shores:Access levels|active users]] and {{NUMBEROFADMINS}} [[Brighter Shores:Administrators|administrators]]. ==Overview== Started on [[22 March]] [[2024]], the Brighter Shores Wiki's goal is to remain a vast, knowledgeable source for all things in ''Brighter Shores''. As the site is a wiki, anybody can edit it, and all are encouraged to do so. ==How you can help== If you see anything that needs changing - change it! If you notice improper grammar, spelling errors, punctuation mistakes, inaccuracies, incompleteness or anything else that needs doing, hit the Edit button at the top of the page and correct it yourself. Feel free to also come and contribute to the various [[Brighter Shores:Active discussions|active discussions]] we have. The more opinions from the community we get, the better. Other activities you can help out with include: * Checking [[Special:RecentChanges|recent changes]] for vandalism * Creating [[Special:WantedPages|wanted pages]] * Creating [[Special:SearchDigest|redirects for commonly searched terms]] * Ensuring that no pages are [[Special:LonelyPages|orphaned]] * Making sure that all pages have [[Special:UncategorisedPages|categories]] Other projects that need your help can be found at [[Brighter Shores:Maintenance]] along with common maintenance tasks. It's a good idea for users to [[Special:CreateAccount|register an account]]. This way, your IP address is hidden from public view, all your edits can be attributed to one account, and you can customise your userpage to your heart's content. Check out our [[Help:Editing|editing guides]] for more information on how to edit and what to help with. ==History== ;2024 * '''22 March''' – The Brighter Shores Wiki is founded ==See also== * [[Brighter Shores:Links]] [[Category:Brighter Shores Wiki community|About]] 332a8d3759417b8c309c384bf4a43dd14b59813d User:Svellere 2 433 692 2024-03-22T22:00:21Z Svellere 21 Created page with "Welcome to my page! Feel free to reach out to me for anything." wikitext text/x-wiki Welcome to my page! Feel free to reach out to me for anything. d87ab5f72047567fa0f80fab110dfa1cf50cea1b User talk:Svellere 3 434 693 2024-03-22T22:00:53Z Svellere 21 Created page with "Beep boop. ~~~~" wikitext text/x-wiki Beep boop. [[User:Svellere|svellere]] ([[User talk:Svellere|talk]]) 22:00, 22 March 2024 (UTC) 906a7151a2cb71c2c5fd18d90a8ddec7cd1c76ac User:InvalidCards 2 161 694 292 2024-03-22T22:01:08Z InvalidCards 4 wikitext text/x-wiki Hi, I'm a wiki admin. Let me know if you have any questions! dc547e00eec4bad1ab74c98d3fbe0bb0811d5dd9 Crenopolis 0 75 695 298 2024-03-22T22:05:25Z Svellere 21 Add mention that trading is unlocked upon reaching Crenopolis. wikitext text/x-wiki '''Crenopolis''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. Players require access to this location to unlock [[trading]]. {{Premium Pass}} [[Category:Locations]] d7ce51d6c085152bb5917aadb1edcac21c7270ce Trading 0 156 696 299 2024-03-22T22:05:27Z Svellere 21 Add mention that trading is unlocked upon reaching Crenopolis. wikitext text/x-wiki '''Trading''' is a feature in [[Brighter Shores]] that allows [[player]]s to trade items with other players. It is only available to players who have purchased the [[Premium Pass]]. It is unlocked upon reaching [[Crenopolis]]. {{Premium Pass}} bcaf45ea428bc7cee4ee4ce67a6cc5a87d24969a 719 696 2024-03-22T22:25:41Z Jayden 3 wikitext text/x-wiki '''Trading''' is a feature in [[Brighter Shores]] that allows [[player]]s to trade items with other players. It is only available to players who have purchased the [[Premium Pass]]. It is unlocked upon reaching [[Crenopolis]]. {{Premium Pass}} {{Mechanics}} 122c90b101167fa81c8543cde51a9fde80c814b3 Cryoknight 0 69 700 564 2024-03-22T22:08:17Z InvalidCards 4 wikitext text/x-wiki '''Cryoknight''' ([[File:Cryoknight icon.png|18px]]) is a [[faction]] which specialises in using melee weapons in [[combat]]. {{Classes}} cc695b9e5779f4b4a1cd1414ee73fac562d481ea Guardian 0 70 701 584 2024-03-22T22:08:30Z InvalidCards 4 wikitext text/x-wiki '''Guardian''' ([[File:Guardian icon.png|18px]]) is a [[faction]] which specialises in using ranged weapons in [[combat]]. {{Classes}} 7fa792d9330ac2747e75a2e941ad92ac753b6094 Hammermage 0 71 702 586 2024-03-22T22:08:42Z InvalidCards 4 wikitext text/x-wiki '''Hammermage''' ([[File:Hammermage icon.png|18px]]) is a [[faction]] which specialises in using magic weapons in [[combat]]. {{Classes}} 09e5a6e6c56b8a191d223682c7180d107655806f File:Gold coin.png 6 438 704 2024-03-22T22:16:45Z InvalidCards 4 Uploaded with [[mw:Special:MyLanguage/Extension:SimpleBatchUpload|SimpleBatchUpload]] wikitext text/x-wiki Terrible quality icons of the coins seen in the "Choose a slot" screen from Andrew's Twitter be204519bbf95d7ba9ff391ec9c6af2f1ea796e1 File:Copper coin.png 6 439 705 2024-03-22T22:16:45Z InvalidCards 4 Uploaded with [[mw:Special:MyLanguage/Extension:SimpleBatchUpload|SimpleBatchUpload]] wikitext text/x-wiki Terrible quality icons of the coins seen in the "Choose a slot" screen from Andrew's Twitter be204519bbf95d7ba9ff391ec9c6af2f1ea796e1 File:Silver coin.png 6 440 706 2024-03-22T22:16:45Z InvalidCards 4 Uploaded with [[mw:Special:MyLanguage/Extension:SimpleBatchUpload|SimpleBatchUpload]] wikitext text/x-wiki Terrible quality icons of the coins seen in the "Choose a slot" screen from Andrew's Twitter be204519bbf95d7ba9ff391ec9c6af2f1ea796e1 Coins 0 441 707 2024-03-22T22:17:53Z InvalidCards 4 Created page with "'''Coins''' are the currency of [[Brighter Shores]]. They come in three types: * [[File:Gold coin.png|18px]] Gold coins * [[File:Silver coin.png|18px]] Silver coins * [[File:Bronze coin.png|18px]] Bronze coins [[Category:Items]]" wikitext text/x-wiki '''Coins''' are the currency of [[Brighter Shores]]. They come in three types: * [[File:Gold coin.png|18px]] Gold coins * [[File:Silver coin.png|18px]] Silver coins * [[File:Bronze coin.png|18px]] Bronze coins [[Category:Items]] 07c6e1e8399e1fd361cd068cf0aab993dad2ee20 Template:Navbox/doc 10 103 708 162 2024-03-22T22:19:58Z 184.186.224.121 0 fixing the runescape wikipedia website wikitext text/x-wiki {{documentation|Template:Navbox}} {{invokes|Navbox|category=No}}<!----Do not add this category to *every* navbox added explicitly to {{Navbox}} at the end of documentation-----> __TOC__<!--Needed to prevent TOC appearing in the navbox itself if it has a heading.--> ==Usage== This template can be used to make a standard navigation box. It is intended for use within another template that standardises the title and contents of the box (see [[Template:Rune equipment]]). This template should not be used directly within articles, as it creates a maintenance burden to do so whenever the contents of the box have to be updated. ==Syntax== <pre> {{Navbox |state = uncollapsed, collapsed, plain, autocollapse (default) |name = mandatory - name of the template |style = optional - style for the whole table |title = mandatory - navbox header |gtitleN = optional - title of N-th group of items |styleN = optional - style for groupN; i.e. text-align |groupN = mandatory - list of groups of items |fstyle = optional - style for footer ; i.e. text-align |footer = optional - navbox footer }} </pre> * '''Groups:''' ** Groups of items can be added as parameters: ''group1'', ''group2'', ''group3'', ... up to ''groupN''. * '''Group title:''' Each group has its own title parameter: ''gtitle1'', ''gtitle2'', ''gtitle3'', ... up to ''gtitleN''. * '''Group style:''' Style may also be customised to each group in: ''style1'', ''style2'', ''style3'', ... up to ''styleN''. * '''Superscript:''' It is preferred to use superscript (<code><nowiki><sup></nowiki></code>) to denote variants of items that are already contained in the navbox. * '''Bullets:''' Create unordered lists with lines beginning with *. ==States== * '''Autocollapse:''' By default, the state of a navbox is "autocollapsed". This means that if the number of navboxes in a page exceeds the maximum allocation of the collapsible navboxes, then the remaining navboxes are collapsed automatically. For more information (or to change the setting), see [[MediaWiki:Gadget-autocollapse.js]]. ** Currently, the ''autocollapse'' allocation is '''<span style="color:red">2</span>'''. This means that if there are 3 navboxes in a page, the third and subsequent navboxes will be collapsed automatically. * '''Uncollapsed:''' Forces the navbox to be displayed. * '''Collapsed:''' The reverse of ''uncollapsed''. Forces the navbox to be hidden instead. ** Navboxes with a height of more than 300 pixels will also be collapsed automatically. For more information (or to change the setting), see [[MediaWiki:Gadget-autocollapse.js]]. * '''Plain:''' Removes the "show/hide" link. ==Sub-groups== * For larger navboxes, it may be necessary to include sub-groups within a particular group of items. It is also possible to collapsible navboxes within the parent navbox, see [[#Collapsible sub-groups|Collapsible sub-groups]]. * To create sub-groups within <code><nowiki>{{Navbox}}</nowiki></code>, certain parameters are to be included: ** The parent navbox group (i.e. ''group2'' in the example below) requires the type parameter (''gtype2 = subgroup''). ** The nested navbox (sub-group) requires the inclusion of the sub-group parameter (''subgroup = yes''). This enables the template to differentiate between the sub-group and the parent navbox. <pre>{{Navbox |name = |title = |gtitle1 = |group1 = |gtitle2 = |gtype2 = subgroup (mandatory) |group2 = {{Navbox |subgroup = yes (mandatory) |gtitle1 = |group1 = |gtitle2 = |group2 = }} }}</pre> ==Collapsible sub-groups== * For extremely long navboxes, it is recommended to use collapsible navboxes within the parent navbox. Further sub-groups can then be added to these collapsible navboxes. * To create collapsible sub-groups within <code><nowiki>{{Navbox}}</nowiki></code>, these parameters need to be included: ** The parent navbox is almost always uncollapsed (''state=uncollapsed''). ** The parent navbox group (i.e. ''group1'' in the example below) requires the type parameter (''gtype1 = subgroup''). ** The nested collapsible navbox requires the inclusion of the collapsible parameter (''collapsible = yes''). This enables the template to differentiate between the collapsible navbox and the parent navbox. ** The nested collapsible navbox is forcefully collapsed (''state=collapsed''). <pre>{{Navbox |state = uncollapsed |name = |gtype1 = subgroup |group1 = {{Navbox |collapsible = yes |state = collapsed |title = |gtitle1 = |group1 = |gtitle2 = |group2 = }} }}</pre> ==Use of images== * The use of images in navboxes is permitted, but please resize the images to keep them small. Inventory-sized images (25-30 pixels) are recommended. ** Use {{t|plink}} to create links with images. ** Use {{t|plinkp}} for any case where text is not desired after the link. ** Use {{t|chatl}} to link chatheads. ** Use {{t|Emote link}} to link emote icons. * Avoid using images in the main header of the navbox. Link and file share the same name <pre>{{plink|Item}}</pre> File name differs from the link <pre>{{plink|Item|pic=File}}</pre> Link and file share the same name, but different text is desired to display <pre>{{plink|Item|txt=Text}}</pre> File name differs from the link and different text is desired to display <pre>{{plink|Item|pic=File|txt=Text}}</pre> {|class="wikitable" |+ Examples !Code !Standard syntax |- |<code><nowiki>{{plink|Abyssal whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Abyssal whip]] [[Abyssal whip]]</nowiki></code> |- |<code><nowiki>{{plink|Granite maul|pic=Abyssal whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Granite maul]] [[Granite maul]]</nowiki></code> |- |<code><nowiki>{{plink|Abyssal whip|txt=Whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Abyssal whip]] [[Abyssal whip|Whip]]</nowiki></code> |- |<code><nowiki>{{plink|Granite maul|pic=Abyssal whip|txt=Whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Granite maul]] [[Granite maul|Whip]]</nowiki></code> |- |<code><nowiki>{{plinkp|Abyssal whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Abyssal whip]]</nowiki></code> |- |<code><nowiki>{{plinkp|Granite maul|pic=Abyssal whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Granite maul]]</nowiki></code> |- |} ==Categorising== Navboxes are useful for transcluding categories onto a large number of pages that share both a trait and the navigation box. For example: [[Template:Rune equipment]] transcludes [[:Category:Rune]] onto every page that uses it. There are 2 methods of categorising pages with navboxes: The preferred method is to use '''{{t|Ctg}}'''. This has the most simple rules but is the easiest to use. The other method is to use '''{{t|Mainonly|rules}}''' and provide more complex rules with parser functions. [[Template:Potions]] is an example of this: <pre> {{mainonly|{{#ifeq:{{lc:{{#sub:{{PAGENAME}}|-3}}}}|mix|[[Category:Barbarian mixes]]}}}} </pre> This code tells the template to add [[:Category:Barbarian mixes]] to pages only if their title ends with the string "mix". <code><nowiki>{{ctg|Barbarian mixes::ifmatches[mix]}}</nowiki></code> would '''not''' work here, because several pages include the substring "mix" in other locations, and they would be improperly categorised. Categorisation should only be used on a template for large-scale addition. For small numbers of pages it is simpler to directly add the category to each page. ==Examples== {{#ifeq:{{BASEPAGENAME}}|Navbox||To see the following navboxes in action, see [[Template:Navbox]].}} ===Single line navbox with centered list=== {{#ifeq:{{BASEPAGENAME}}|Navbox|{{Navbox |state = uncollapsed |name = Navbox |title = [[Project:Sandbox|Single line navbox]] |style1 = text-align:center |group1 = * Lorem ipsum dolor sit amet * Consectetur adipisicing elit * sed do eiusmod tempor incididunt ut labore et dolore magna aliqua }}}} <pre>{{Navbox |name = |title = |style1 = text-align:center |group1 = }}</pre> ===Navbox with standard footer=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = uncollapsed |name = Navbox |title = [[Project:Sandbox|Navbox with footer]] |style1 = text-align:center |group1 = * Lorem ipsum dolor sit amet * Consectetur adipisicing elit * sed do eiusmod tempor incididunt ut labore et dolore magna aliqua |footer = Centered footer }}}} <pre>{{Navbox |name = |title = |gtitle1 = |group1 = |footer = Centered footer }}</pre> ===Navbox with styled footer=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = uncollapsed |name = Navbox |title = [[Project:Sandbox|Navbox with footer]] |style1 = text-align:center |group1 = * Lorem ipsum dolor sit amet * Consectetur adipisicing elit * sed do eiusmod tempor incididunt ut labore et dolore magna aliqua |fstyle = text-align:right |footer = Right-aligned footer }}}} <pre>{{Navbox |name = |title = |gtitle1 = |group1 = |fstyle = text-align:right |footer = Right-aligned footer }}</pre> ===Multiple line navbox=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = uncollapsed |name = Navbox |title = [[Project:Sandbox|Multiple line navbox]] |gtitle1 = Group title 1 |group1 = Lorem ipsum dolor sit amet... |gtitle2 = Group title 2 |group2 = Consectetur adipisicing elit... |gtitle3 = Group title 3 |group3 = Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. }}}} <pre>{{Navbox |name = |title = |gtitle1 = Group title 1 |group1 = |gtitle2 = Group title 2 |group2 = |gtitle3 = Group title 3 |group3 = }}</pre> ===Collapsed navbox=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = collapsed |name = Navbox |title = [[Project:Sandbox|Collapsed navbox]] |style1 = text-align:center |group1 = Lorem? }}}} <pre>{{Navbox |state = collapsed |name = |title = |style1 = text-align:center |group1 = }}</pre> ===Plain navbox with Tnavbar=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = plain |name = Navbox |title = [[Project:Sandbox|Plain navbox with Tnavbar]] |style1 = text-align:center |group1 = [<small>[[Project:Sandbox|show]]</small>]/[<small>[[Project:Sandbox|hide]]</small>] links hidden (see Top-right corner). }}}} <pre>{{Navbox |state = plain |name = |title = |style1 = text-align:center |group1 = }}</pre> ===Plain navbox without Tnavbar=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = plain |title = [[Project:Sandbox|Plain navbox without Tnavbar]] |style1 = text-align:center |group1 = [<small>[[Project:Sandbox|show]]</small>]/[<small>[[Project:Sandbox|hide]]</small>] links hidden (see Top-right corner).<br><small>[[Project:Sandbox|v]] {{*}} [[Project:Sandbox|d]] {{*}} [[Project:Sandbox|e]]</small> links also hidden (see Top-left corner). This is done by removing the ''name'' parameter. }}}} <pre>{{Navbox |state = plain |title = |style1 = text-align:center |group1 = }}</pre> ===Complicated navbox=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = uncollapsed |name = Navbox |title = [[Project:Sandbox|Complicated navbox]] |gtitle1 = Level 1 Title 1 |group1 = Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem eget nisi bibendum viverra a eget leo. Integer velit arcu, accumsan vel rhoncus eget, auctor a tellus. Nullam mollis turpis sollicitudin justo hendrerit ac volutpat nibh placerat. |gtitle2 = Level 1 Title 2 |group2 = Curabitur posuere vestibulum dolor, quis faucibus justo tristique in. Nulla facilisi. Nunc iaculis erat nec ligula rutrum vel porta dolor posuere. Maecenas venenatis sapien id sapien pellentesque mollis. |gtitle3 = Level 1 Title 3 |group3 = Sed ac sapien risus, in pharetra purus. |gtitle4 = Level 1 Title 4 |group4 = Curabitur eu metus elit, a eleifend est. Aliquam vestibulum mollis metus, ut facilisis justo tincidunt non. Donec vel felis ut purus molestie facilisis consectetur a est. Nulla velit nisi, aliquet at condimentum non, varius ac nibh. Praesent fringilla nisi nibh. Morbi quis dapibus nulla. |gtitle5 = Level 1 Title 5 |gtype5 = subgroup |group5 = {{Navbox |subgroup = yes |gtitle1 = Level 2 Title 1 |group1 = Nam cursus, leo sit amet congue porttitor, ante ligula mattis ante, ut rhoncus nisi augue eget mi. Etiam scelerisque, nunc et sagittis consequat, augue turpis gravida massa, quis blandit lectus orci vel sem. |gtitle2 = Level 2 Title 2 |group2 = Aliquam tortor est, luctus et consectetur eget, dapibus lobortis ante. |gtitle3 = Level 2 Title 3 |gtype3 = subgroup |group3 = {{Navbox |subgroup = yes |gtitle1 = Level 3 Title 1 |group1 = Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vestibulum eu lacus ut sapien tristique fringilla tincidunt vitae risus. |gtitle2 = Level 3 Title 2 |group2 = Donec in libero lorem. Vestibulum consequat tincidunt imperdiet. }} |gtitle4 = Level 2 Title 4 |group4 = Vivamus odio mi, ullamcorper vitae rutrum sed, bibendum vel mauris. Proin sed libero ac sapien pellentesque dapibus. Nulla et ipsum libero. Integer vitae euismod eros. Ut enim purus, consectetur congue fermentum nec, pharetra non dui. Mauris mollis sapien at massa commodo rutrum. Donec non risus ut dui ultrices molestie non a quam. }} |gtitle6 = Level 1 Title 6 |group6 = Duis vel ligula tellus, sed rutrum augue. Cras varius consectetur ligula, vitae accumsan nisl vehicula vitae. Integer mi nunc, cursus sit amet mattis vitae, porta nec ligula. |gtitle7 = Level 1 Title 7 |group7 = Etiam vulputate nisl eget sapien mattis ultrices. Vestibulum et eros vitae arcu condimentum porta. Cras fringilla, erat quis consequat sollicitudin, est tortor tempor massa, quis euismod risus nisi vel massa. Phasellus in risus ac metus pharetra sodales vel at velit. Nulla ullamcorper, orci ac ultrices sollicitudin, ante erat scelerisque eros, auctor pretium felis nibh bibendum purus. |fstyle = text-align:right |footer = Quisque ut nisl arcu. Integer tincidunt, turpis pharetra consectetur consectetur, felis ipsum sagittis turpis, vel interdum eros mauris sed odio. <br> Aenean scelerisque rhoncus leo, a cursus neque vehicula sed. }}}} <pre>{{Navbox |state = uncollapsed |name = |title = |gtitle1 = Level 1 Title 1 |group1 = |gtitle2 = Level 1 Title 2 |group2 = |gtitle3 = Level 1 Title 3 |group3 = |gtitle4 = Level 1 Title 4 |group4 = |gtitle5 = Level 1 Title 5 |gtype5 = subgroup |group5 = {{Navbox |subgroup = yes |gtitle1 = Level 2 Title 1 |group1 = |gtitle2 = Level 2 Title 2 |group2 = |gtitle3 = Level 2 Title 3 |gtype3 = subgroup |group3 = {{Navbox |subgroup = yes |gtitle1 = Level 3 Title 1 |group1 = |gtitle2 = Level 3 Title 2 |group2 = }} |gtitle4 = Level 2 Title 4 |group4 = }} |gtitle6 = Level 1 Title 6 |group6 = |gtitle7 = Level 1 Title 7 |group7 = |fstyle = |footer = }}</pre> ==Preventing unwanted documentation== The [[Template:Navbox/doc|Navbox template's documentation]] is automatically transcluded under the navbox on any Template namespace page. It is not transcluded when used as a sub-group or collapsible sub-group template (''subgroup= yes'' or ''collapsible=yes''). Should the documentation appear when it is unwanted, it can be hidden by setting the doc parameter ''doc=no'' on the template. In most cases, the doc parameter is not used and the parameter is removed completely. On a similar note, the automatically-added category [[:Category:Navbox templates]] can be suppressed by adding ''hidecat=yes''. <noinclude>[[Category:Navbox templates|*{{PAGENAME}}]]</noinclude> <includeonly> {{#ifeq:{{PAGENAME}}|Navbox|[[Category:Lua-based templates]]}}<!--- This should be kept separate to prevent *every* nav box from Being marked as Lua based, simply for the sake of keeping the category easy to navigate ----> </includeonly> cf673245340a0fce044cd9ab26d03f893392e0d4 Locations 0 366 709 607 2024-03-22T22:21:15Z InvalidCards 4 wikitext text/x-wiki '''Locations''' are places that exist in the [[Brighter Shores]] game world. ==Locations== * [[Hopeport]] * [[Hopeforest]] * [[Mine of Mantuban]] * [[Crenopolis]] [[Category:Locations|*]] dcb72f8c1db208884db41b1cdd0708ec8d4067e8 Pirate Hideout 0 442 711 2024-03-22T22:23:16Z InvalidCards 4 Created page with "The '''Pirate Hideout''' is a location. It contains [[Gurnard]]s, [[Pirate]]s, [[Limpet]]s, [[Wrack]]s, and a few interactable scenery items. [[Category:Location]]" wikitext text/x-wiki The '''Pirate Hideout''' is a location. It contains [[Gurnard]]s, [[Pirate]]s, [[Limpet]]s, [[Wrack]]s, and a few interactable scenery items. [[Category:Location]] 9130a6a4b769f22969b031644be7edc5551c4245 712 711 2024-03-22T22:23:33Z InvalidCards 4 ssss wikitext text/x-wiki The '''Pirate Hideout''' is a location. It contains [[Gurnard]]s, [[Pirate]]s, [[Limpet]]s, [[Wrack]]s, and a few interactable scenery items. [[Category:Locations]] 40f4f2af84f6d0600cd24ff917bfc272a3b304f5 Template:Mechanics 10 443 713 2024-03-22T22:24:47Z Jayden 3 Created page with "{{Navbox |name = Mechanics |title = Game Mechanics |style1 = text-align:center |group1 = * [[Account]] * [[Professions]] * [[Factions]] * [[Monsters]] * [[Combat]] * [[Trading]] * [[Premium Pass]] }}{{Ctg|Mechanics}}" wikitext text/x-wiki {{Navbox |name = Mechanics |title = Game Mechanics |style1 = text-align:center |group1 = * [[Account]] * [[Professions]] * [[Factions]] * [[Monsters]] * [[Combat]] * [[Trading]] * [[Premium Pass]] }}{{Ctg|Mechanics}} 829cfb1587310101be94f26b16f09cda5e671049 Account 0 328 715 528 2024-03-22T22:25:07Z Jayden 3 wikitext text/x-wiki [[File:Account.jpg|thumb|A view of a player's three accounts.]] An '''account''' is the profile of a human person who is playing [[Brighter Shores]]. Each account can create three [[player|characters]]. Accounts are free-to-play by default, but a player can purchase the [[Premium Pass]] to access additional content. Accounts which own a Premium Pass gain the benefits for all three of their account's characters.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1771227689514315873|author=Andrew Gower|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/a5xQT|archivedate=22 March 2024|quote=Brighter Shores allows up to 3 characters per account. And they can all share a single premium pass.}} ==References== {{Reflist}} {{Mechanics}} 68aa31b49366aa20bfb2de082e0ff0e3dcaa67c4 Factions 0 72 716 534 2024-03-22T22:25:18Z Jayden 3 wikitext text/x-wiki [[File:Factions.jpg|thumb|right|Examples of the three factions.]] '''Factions''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. ==Classes== * The [[Cryoknight]] faction is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]] * [[Guardian]]s use ranged combat, preferring to wield weapons like [[crossbow]]s * The [[Hammermage]] faction fights using a mix of melee and magic {{Factions}} {{Mechanics}} b681e2a7bf66d713236533a151cf2a69abb0e396 Monsters 0 377 717 618 2024-03-22T22:25:25Z Jayden 3 wikitext text/x-wiki '''Monsters''' are creatures in [[Brighter Shores]] that can be attacked. They are fought in [[combat]] for their loot, including valuable currency items. There are many monsters in Brighter Shores, including: * [[Punkupine]] * [[Slime Fiend]] * [[Mawchest]] * [[Wailing Shade]] * [[Sneaky Thief]] * [[Yellowtail Gurnard]] * [[Grumpy Pirate]] [[Category:Monsters]] {{Mechanics}} feaa18bcd4bd825f94b8eb073a3e219db38da2b2 Combat 0 191 718 511 2024-03-22T22:25:33Z Jayden 3 wikitext text/x-wiki [[File:Equipment.jpg|thumb|right|A preview of player in combat.]] '''Combat''' is a mechanic in [[Brighter Shores]] in which several [[player]]s or monsters fight. Depending on the [[class]] that is being used, player combat can utilise melee, ranged, or magic. {{Mechanics}} 6ba5b84da4a754ec053d3563487178f2bff3e246 Premium Pass 0 76 720 558 2024-03-22T22:25:49Z Jayden 3 wikitext text/x-wiki [[File:Premium Pass comparison.png|thumb|A comparison of some of the Premium Pass features.]] The '''Premium Pass''' is a type of membership that can be purchased using real money. It provides access to a number of new areas and features in [[Brighter Shores]]. While owning the Premium Pass is required to access the benefits, it will not be a recurring subscription.{{CiteGeneral|url=https://www.gamesradar.com/ahead-of-his-new-mmo-runescape-creator-says-games-have-gotten-too-microtransaction-heavy-our-number-one-aim-is-not-monetization-its-players/|title=Ahead of his new MMO, RuneScape creator says games have gotten too microtransaction-heavy: "Our number one aim is not monetization, it's players"|author=Kaan Serin|date=17 March 2024|accessdate=22 March 2024|quote="One of the key differences is we're probably not going to do auto-recurring payments," continues Gower.}} ==Benefits== There are several benefits to purchasing a Premium Pass: * Access to the [[Mine of Mantuban]] and [[Crenopolis]] * Ability to choose a unique character name, and change your name at any point * Access to exclusive armour dyes * Ability to [[trade]] with other [[player]]s ==References== {{Reflist}} {{Premium Pass}} {{Mechanics}} [[Category:Community]] 1c435e0525b91b801c9f2fda6736196ebc584549 Gurnard 0 444 721 2024-03-22T22:26:57Z InvalidCards 4 Created page with "'''Gurnards''' are a type of [[fish]]. The Yellowtail variant can be found in the [[Pirate Hideout]]. [[Category:NPCs]]" wikitext text/x-wiki '''Gurnards''' are a type of [[fish]]. The Yellowtail variant can be found in the [[Pirate Hideout]]. [[Category:NPCs]] f1bdf170b99bc3a3811d15a5e835d6c46371e3a5 Pirate 0 445 722 2024-03-22T22:27:32Z InvalidCards 4 Created page with "'''Pirates''' are a type of [[monster]]. The Grumpy variant can be found in the [[Pirate Hideout]]. [[Category:Monsters]]" wikitext text/x-wiki '''Pirates''' are a type of [[monster]]. The Grumpy variant can be found in the [[Pirate Hideout]]. [[Category:Monsters]] 79d29cbbbdc8baf923cb798be38b74d30491869e Punkupine 0 446 723 2024-03-22T22:27:33Z Jayden 3 Created page with "'''{{subst:PAGENAME}}''' is a [[monster]]. [[Category:Monsters]]" wikitext text/x-wiki '''Punkupine''' is a [[monster]]. [[Category:Monsters]] 2481474a33425889c143d3daa69dce9eedf38c62 Slime Fiend 0 447 724 2024-03-22T22:27:38Z Jayden 3 Created page with "'''{{subst:PAGENAME}}''' is a [[monster]]. [[Category:Monsters]]" wikitext text/x-wiki '''Slime Fiend''' is a [[monster]]. [[Category:Monsters]] 8b158ff91027a382a691bdf8d5be9ead5e1d2385 Mawchest 0 448 725 2024-03-22T22:27:43Z Jayden 3 Created page with "'''{{subst:PAGENAME}}''' is a [[monster]]. [[Category:Monsters]]" wikitext text/x-wiki '''Mawchest''' is a [[monster]]. [[Category:Monsters]] ac596fa0da6a7f2ea31930d595a794769daf67d1 749 725 2024-03-22T22:40:21Z BrighterShoreModsRNazis 24 wikitext text/x-wiki '''Mawchest''' is a [[monster]]. [[Category:Monsters]] Unlike the real monsters that are the mods of Brighter Shores. 2f05fbc6ddb24672b01baedab192d4320a32d05e 771 749 2024-03-22T22:56:16Z Habblet 11 Reverted edits by [[Special:Contributions/BrighterShoreModsRNazis|BrighterShoreModsRNazis]] ([[User talk:BrighterShoreModsRNazis|talk]]) to last revision by [[User:Jayden|Jayden]] wikitext text/x-wiki '''Mawchest''' is a [[monster]]. [[Category:Monsters]] ac596fa0da6a7f2ea31930d595a794769daf67d1 Yellowtail Gurnard 0 449 726 2024-03-22T22:27:51Z Jayden 3 Created page with "'''{{subst:PAGENAME}}''' is a [[monster]]. [[Category:Monsters]]" wikitext text/x-wiki '''Yellowtail Gurnard''' is a [[monster]]. [[Category:Monsters]] f3ddd2caf7dc6531d7e792517ccc1ebe7860aed0 Grumpy Pirate 0 450 727 2024-03-22T22:28:03Z Jayden 3 Created page with "'''{{subst:PAGENAME}}''' is a [[monster]]. [[Category:Monsters]]" wikitext text/x-wiki '''Grumpy Pirate''' is a [[monster]]. [[Category:Monsters]] 803021917b09ef71b51fe0a70f1a9879bd84d678 Pirate 0 445 728 722 2024-03-22T22:28:29Z Jayden 3 wikitext text/x-wiki '''Pirates''' are a type of [[monster]]. [[Grumpy Pirate]]s can be found in the [[Pirate Hideout]]. [[Category:Monsters]] 2d76415315f4cfc794634d8d6c8f6d14e2b07c16 Limpet 0 451 729 2024-03-22T22:29:04Z InvalidCards 4 Created page with "'''Limpets''' are a type of harvestable interactable. The Bladder variant can be found in the [[Pirate Hideout]]." wikitext text/x-wiki '''Limpets''' are a type of harvestable interactable. The Bladder variant can be found in the [[Pirate Hideout]]. bc55bf3613416edbe5f4342a8c9e0ba86ce3f6bc 731 729 2024-03-22T22:29:44Z InvalidCards 4 whoops wikitext text/x-wiki '''Limpets''' are a type of harvestable interactable. The Common variant can be found in the [[Pirate Hideout]]. c82f03dadcd4c31470a6822a38b03b37ca55ff64 Wrack 0 452 730 2024-03-22T22:29:32Z InvalidCards 4 Created page with "'''Wracks''' are a type of harvestable interactable. The Bladder variant can be found in the [[Pirate Hideout]]." wikitext text/x-wiki '''Wracks''' are a type of harvestable interactable. The Bladder variant can be found in the [[Pirate Hideout]]. e63826814819f5213f89497b004d9ec7ef6ad262 Pirate Hideout 0 442 732 712 2024-03-22T22:30:30Z InvalidCards 4 linky wikitext text/x-wiki The '''Pirate Hideout''' is a [[location]]. It contains [[Gurnard]]s, [[Pirate]]s, [[Limpet]]s, [[Wrack]]s, and a few interactable scenery items. [[Category:Locations]] f42d840999875784c96872a33fa28621bbce0947 Template:Interface 10 453 733 2024-03-22T22:35:14Z Jayden 3 Created page with "{{Navbox |name = Interface |title = [[Interface]] |style1 = text-align:center |group1 = * [[Backpack]] }}{{Ctg|Interface}}" wikitext text/x-wiki {{Navbox |name = Interface |title = [[Interface]] |style1 = text-align:center |group1 = * [[Backpack]] }}{{Ctg|Interface}} 09be870c87f95d98ef6dca7526a1d68b5a5a98bc 734 733 2024-03-22T22:35:29Z Jayden 3 Jayden moved page [[Interface]] to [[Template:Interface]] wikitext text/x-wiki {{Navbox |name = Interface |title = [[Interface]] |style1 = text-align:center |group1 = * [[Backpack]] }}{{Ctg|Interface}} 09be870c87f95d98ef6dca7526a1d68b5a5a98bc Locations 0 366 736 709 2024-03-22T22:36:16Z BrighterShoreModsRNazis 24 wikitext text/x-wiki '''Locations''' are places that exist in the [[Brighter Shores]] game world. Brighter shore mods are nazis. ==Locations== * [[Hopeport]] * [[Hopeforest]] * [[Mine of Mantuban]] * [[Crenopolis]] [[Category:Locations|*]] c95c3abe028f209ff0061955d2a0eec581119ece 775 736 2024-03-22T22:57:24Z Habblet 11 Reverted edits by [[Special:Contributions/BrighterShoreModsRNazis|BrighterShoreModsRNazis]] ([[User talk:BrighterShoreModsRNazis|talk]]) to last revision by [[User:InvalidCards|InvalidCards]] wikitext text/x-wiki '''Locations''' are places that exist in the [[Brighter Shores]] game world. ==Locations== * [[Hopeport]] * [[Hopeforest]] * [[Mine of Mantuban]] * [[Crenopolis]] [[Category:Locations|*]] dcb72f8c1db208884db41b1cdd0708ec8d4067e8 Interface 0 456 738 2024-03-22T22:37:08Z Jayden 3 Created page with "The '''interface''' is the display of the icons, windows, and other elements on the [[Brighter Shores]] game window. ==Components== * [[Backpack]] {{Interface}}" wikitext text/x-wiki The '''interface''' is the display of the icons, windows, and other elements on the [[Brighter Shores]] game window. ==Components== * [[Backpack]] {{Interface}} e8584e48351f5d106bb1d380f98d0af2f640c63f 743 738 2024-03-22T22:38:05Z Jayden 3 wikitext text/x-wiki The '''interface''' is the display of the icons, windows, and other elements on the [[Brighter Shores]] game window. ==Components== * [[Backpack]] {{Interface}} {{Mechanics}} d7cf7828e6eb3825f5ac66fe80285b28071c0eed Backpack 0 457 739 2024-03-22T22:37:15Z Jayden 3 Created page with "The '''backpack''' is where [[player]]s store the items that they are currently carrying. It is accessed by clicking the backpack button at the bottom left of the game [[interface]]. The player's backpack stores up to 24 items. {{Interface}}" wikitext text/x-wiki The '''backpack''' is where [[player]]s store the items that they are currently carrying. It is accessed by clicking the backpack button at the bottom left of the game [[interface]]. The player's backpack stores up to 24 items. {{Interface}} a94d08b75d25b238b2341834eb5cc11c9699330c Category:Interface 14 458 740 2024-03-22T22:37:35Z Jayden 3 Created page with "{{Ctg|pages|the game [[interface]]}}" wikitext text/x-wiki {{Ctg|pages|the game [[interface]]}} 5330c1e3fcd1c9a46f2bc2cf1d52f9e0bea6a4c6 742 740 2024-03-22T22:37:47Z Jayden 3 wikitext text/x-wiki {{Categoryheader|pages|the game [[interface]]}} ec021c7e7013301dfa885b9af696208052ce4596 Professions 0 56 741 714 2024-03-22T22:37:36Z BrighterShoreModsRNazis 24 wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. The main profession of the brighter shore mods is to be Nazis. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> {{Professions}} {{Mechanics}} cf0a44172aea13f3bf86d85bf59d1e88945b51b1 774 741 2024-03-22T22:56:22Z Habblet 11 Reverted edits by [[Special:Contributions/BrighterShoreModsRNazis|BrighterShoreModsRNazis]] ([[User talk:BrighterShoreModsRNazis|talk]]) to last revision by [[User:Jayden|Jayden]] wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> {{Professions}} {{Mechanics}} d9c0b750c926aad63e20d96d17df7e810a882421 Template:Mechanics 10 443 744 713 2024-03-22T22:38:14Z Jayden 3 wikitext text/x-wiki {{Navbox |name = Mechanics |title = Game Mechanics |style1 = text-align:center |group1 = * [[Account]] * [[Interface]] * [[Professions]] * [[Factions]] * [[Monsters]] * [[Combat]] * [[Trading]] * [[Premium Pass]] }}{{Ctg|Mechanics}} 6f2c764305aacd0ccf2db0c1b904851a672310fe Factions 0 72 745 716 2024-03-22T22:38:23Z BrighterShoreModsRNazis 24 wikitext text/x-wiki [[File:Factions.jpg|thumb|right|Examples of the three factions.]] '''Factions''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. The only faction available to the Brighter Shores mods is fascism. ==Classes== * The [[Cryoknight]] faction is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]] * [[Guardian]]s use ranged combat, preferring to wield weapons like [[crossbow]]s * The [[Hammermage]] faction fights using a mix of melee and magic {{Factions}} {{Mechanics}} c01335c6da5d1fb5d98c7259d76b810614f2478e 773 745 2024-03-22T22:56:20Z Habblet 11 Reverted edits by [[Special:Contributions/BrighterShoreModsRNazis|BrighterShoreModsRNazis]] ([[User talk:BrighterShoreModsRNazis|talk]]) to last revision by [[User:Jayden|Jayden]] wikitext text/x-wiki [[File:Factions.jpg|thumb|right|Examples of the three factions.]] '''Factions''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. ==Classes== * The [[Cryoknight]] faction is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]] * [[Guardian]]s use ranged combat, preferring to wield weapons like [[crossbow]]s * The [[Hammermage]] faction fights using a mix of melee and magic {{Factions}} {{Mechanics}} b681e2a7bf66d713236533a151cf2a69abb0e396 Premium Pass 0 76 746 720 2024-03-22T22:39:10Z BrighterShoreModsRNazis 24 wikitext text/x-wiki [[File:Premium Pass comparison.png|thumb|A comparison of some of the Premium Pass features.]] The '''Premium Pass''' is a type of membership that can be purchased using real money. It provides access to a number of new areas and features in [[Brighter Shores]]. While owning the Premium Pass is required to access the benefits, it will not be a recurring subscription.{{CiteGeneral|url=https://www.gamesradar.com/ahead-of-his-new-mmo-runescape-creator-says-games-have-gotten-too-microtransaction-heavy-our-number-one-aim-is-not-monetization-its-players/|title=Ahead of his new MMO, RuneScape creator says games have gotten too microtransaction-heavy: "Our number one aim is not monetization, it's players"|author=Kaan Serin|date=17 March 2024|accessdate=22 March 2024|quote="One of the key differences is we're probably not going to do auto-recurring payments," continues Gower.}} Don't forget to bend the knee to the brighter shore mods or else. ==Benefits== There are several benefits to purchasing a Premium Pass: * Access to the [[Mine of Mantuban]] and [[Crenopolis]] * Ability to choose a unique character name, and change your name at any point * Access to exclusive armour dyes * Ability to [[trade]] with other [[player]]s ==References== {{Reflist}} {{Premium Pass}} {{Mechanics}} [[Category:Community]] 37742179b1fb1d8669f387f236f5a36539fb0e40 772 746 2024-03-22T22:56:17Z Habblet 11 Reverted edits by [[Special:Contributions/BrighterShoreModsRNazis|BrighterShoreModsRNazis]] ([[User talk:BrighterShoreModsRNazis|talk]]) to last revision by [[User:Jayden|Jayden]] wikitext text/x-wiki [[File:Premium Pass comparison.png|thumb|A comparison of some of the Premium Pass features.]] The '''Premium Pass''' is a type of membership that can be purchased using real money. It provides access to a number of new areas and features in [[Brighter Shores]]. While owning the Premium Pass is required to access the benefits, it will not be a recurring subscription.{{CiteGeneral|url=https://www.gamesradar.com/ahead-of-his-new-mmo-runescape-creator-says-games-have-gotten-too-microtransaction-heavy-our-number-one-aim-is-not-monetization-its-players/|title=Ahead of his new MMO, RuneScape creator says games have gotten too microtransaction-heavy: "Our number one aim is not monetization, it's players"|author=Kaan Serin|date=17 March 2024|accessdate=22 March 2024|quote="One of the key differences is we're probably not going to do auto-recurring payments," continues Gower.}} ==Benefits== There are several benefits to purchasing a Premium Pass: * Access to the [[Mine of Mantuban]] and [[Crenopolis]] * Ability to choose a unique character name, and change your name at any point * Access to exclusive armour dyes * Ability to [[trade]] with other [[player]]s ==References== {{Reflist}} {{Premium Pass}} {{Mechanics}} [[Category:Community]] 1c435e0525b91b801c9f2fda6736196ebc584549 Category:Mechanics 14 459 747 2024-03-22T22:39:16Z Jayden 3 Created page with "{{Categoryheader|pages|game [[mechanics]]}}" wikitext text/x-wiki {{Categoryheader|pages|game [[mechanics]]}} a702d0f20293030cbe73c3e8d8f137ed25d77404 748 747 2024-03-22T22:39:33Z Jayden 3 wikitext text/x-wiki {{Categoryheader|pages|game mechanics}} cb280d11085d20b3986b94119fb92f819c0696e0 File:Unknown episode icon.png 6 460 750 2024-03-22T22:40:59Z InvalidCards 4 Uploaded with [[mw:Special:MyLanguage/Extension:SimpleBatchUpload|SimpleBatchUpload]] wikitext text/x-wiki Some low-quality episode icons as seen in the backpack 527d799576f0f0e5dcc8925835a4d6f2b16a722a File:Hopeforest episode icon.png 6 461 751 2024-03-22T22:40:59Z InvalidCards 4 Uploaded with [[mw:Special:MyLanguage/Extension:SimpleBatchUpload|SimpleBatchUpload]] wikitext text/x-wiki Some low-quality episode icons as seen in the backpack 527d799576f0f0e5dcc8925835a4d6f2b16a722a File:Mine of Mantuban episode icon.png 6 462 752 2024-03-22T22:40:59Z InvalidCards 4 Uploaded with [[mw:Special:MyLanguage/Extension:SimpleBatchUpload|SimpleBatchUpload]] wikitext text/x-wiki Some low-quality episode icons as seen in the backpack 527d799576f0f0e5dcc8925835a4d6f2b16a722a File:Hopeport episode icon.png 6 463 753 2024-03-22T22:40:59Z InvalidCards 4 Uploaded with [[mw:Special:MyLanguage/Extension:SimpleBatchUpload|SimpleBatchUpload]] wikitext text/x-wiki Some low-quality episode icons as seen in the backpack 527d799576f0f0e5dcc8925835a4d6f2b16a722a Account 0 328 754 715 2024-03-22T22:41:18Z BrighterShoreModsRNazis 24 wikitext text/x-wiki [[File:Account.jpg|thumb|A view of a player's three accounts.]] An '''account''' is the profile of a nazi person who is playing [[Brighter Shores]]. Each account can create three [[player|characters]]. Accounts are free-to-play by default, but a player can purchase the [[Premium Pass]] to access additional content. Accounts which own a Premium Pass gain the benefits for all three of their account's characters.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1771227689514315873|author=Andrew Gower|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/a5xQT|archivedate=22 March 2024|quote=Brighter Shores allows up to 3 characters per account. And they can all share a single premium pass.}} ==References== {{Reflist}} {{Mechanics}} 20162ae46d0cb81cd484f6b8769d2fb6e0aa1880 770 754 2024-03-22T22:56:13Z Habblet 11 Reverted edits by [[Special:Contributions/BrighterShoreModsRNazis|BrighterShoreModsRNazis]] ([[User talk:BrighterShoreModsRNazis|talk]]) to last revision by [[User:Jayden|Jayden]] wikitext text/x-wiki [[File:Account.jpg|thumb|A view of a player's three accounts.]] An '''account''' is the profile of a human person who is playing [[Brighter Shores]]. Each account can create three [[player|characters]]. Accounts are free-to-play by default, but a player can purchase the [[Premium Pass]] to access additional content. Accounts which own a Premium Pass gain the benefits for all three of their account's characters.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1771227689514315873|author=Andrew Gower|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/a5xQT|archivedate=22 March 2024|quote=Brighter Shores allows up to 3 characters per account. And they can all share a single premium pass.}} ==References== {{Reflist}} {{Mechanics}} 68aa31b49366aa20bfb2de082e0ff0e3dcaa67c4 Punkupine 0 446 755 723 2024-03-22T22:42:41Z BrighterShoreModsRNazis 24 wikitext text/x-wiki '''The mods of Brighter Shores''' are a [[monster]]. [[Category:Monsters]] 0dc8ef36a77278dc48e03e43097978bb048a48c2 769 755 2024-03-22T22:55:44Z Habblet 11 Reverted edits by [[Special:Contributions/BrighterShoreModsRNazis|BrighterShoreModsRNazis]] ([[User talk:BrighterShoreModsRNazis|talk]]) to last revision by [[User:Jayden|Jayden]] wikitext text/x-wiki '''Punkupine''' is a [[monster]]. [[Category:Monsters]] 2481474a33425889c143d3daa69dce9eedf38c62 Brighter Shores 0 51 756 555 2024-03-22T22:43:43Z BrighterShoreModsRNazis 24 wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024, and will be available for Windows and macOS (Apple Silicon and Intel chipsets). The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An initial two-minute trailer was released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}} The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. Brighter Shores features an ongoing story with hundreds of hours of gameplay.{{CiteGeneral|url=https://store.steampowered.com/app/2791440/Brighter_Shores/|title=Brighter Shores on Steam|author=Valve|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/eYgMA|archivedate=22 March 2024}} Players start their journey in [[Hopeport]], as a member of the town guard. The mods of Brighter Shore believe in a pure user base. No dissent is allowed. ==Trivia== * The logo of Brighter Shores features [[Hopeport Obelisk]]. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] * [https://brightershores.com/ Official website] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] 1cc966d6db1c02862a02e82bd1304777ba5d8f81 757 756 2024-03-22T22:44:10Z BrighterShoreModsRNazis 24 /* Trivia */ wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024, and will be available for Windows and macOS (Apple Silicon and Intel chipsets). The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An initial two-minute trailer was released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}} The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. Brighter Shores features an ongoing story with hundreds of hours of gameplay.{{CiteGeneral|url=https://store.steampowered.com/app/2791440/Brighter_Shores/|title=Brighter Shores on Steam|author=Valve|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/eYgMA|archivedate=22 March 2024}} Players start their journey in [[Hopeport]], as a member of the town guard. The mods of Brighter Shore believe in a pure user base. No dissent is allowed. ==Trivia== * The logo of Brighter Shores features [[Hopeport Obelisk]]. The mods of the subreddit are Nazis. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] * [https://brightershores.com/ Official website] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] 923cbc220bce138df352145468acd19bc6544845 768 757 2024-03-22T22:55:34Z Habblet 11 Reverted edits by [[Special:Contributions/BrighterShoreModsRNazis|BrighterShoreModsRNazis]] ([[User talk:BrighterShoreModsRNazis|talk]]) to last revision by [[User:Habblet|Habblet]] wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024, and will be available for Windows and macOS (Apple Silicon and Intel chipsets). The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An initial two-minute trailer was released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}} The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. Brighter Shores features an ongoing story with hundreds of hours of gameplay.{{CiteGeneral|url=https://store.steampowered.com/app/2791440/Brighter_Shores/|title=Brighter Shores on Steam|author=Valve|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/eYgMA|archivedate=22 March 2024}} Players start their journey in [[Hopeport]], as a member of the town guard. ==Trivia== * The logo of Brighter Shores features [[Hopeport Obelisk]]. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] * [https://brightershores.com/ Official website] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] 015f3631721cc1eaf49a1f4a3f234a7081bef543 Template:Infobox Item 10 77 758 134 2024-03-22T22:45:43Z InvalidCards 4 wikitext text/x-wiki <includeonly>{| class="wikitable" style="float:right" |+{{{name|}}} |- |colspan="2" style="text-align:center"|[[File:{{{image|}}}|30px]] |- |<b>Release date</b>||{{{release|Soon}}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{{profession|}}} |- |<b>Value</b>||{{{value|0}}} |}</includeonly> 8bbbfa9a734d1f6d4a6887e29629db6cfe2dc0c8 762 758 2024-03-22T22:50:26Z InvalidCards 4 wikitext text/x-wiki <includeonly>{| class="wikitable" style="float:right" |+{{{name|}}} |- |colspan="2" style="text-align:center"|[[File:{{{image|}}}|30px]] |- |<b>Release date</b>||{{{release|Soon}}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{{profession|}}} |- |<b>Value</b>||{{{value|0}}} |}{{Mainonly|[[Category:Items]]}}</includeonly> 019b3072405d3292b7a124a09087815008654ddb 765 762 2024-03-22T22:52:41Z InvalidCards 4 beeg wikitext text/x-wiki <includeonly>{| class="wikitable" style="float:right" |+{{{name|}}} |- |colspan="2" style="text-align:center"|[[File:{{{image|}}}|50px]] |- |<b>Release date</b>||{{{release|Soon}}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{{profession|}}} |- |<b>Value</b>||{{{value|0}}} |}{{Mainonly|[[Category:Items]]}}</includeonly> 662d08e0eea49c9bd7799b1f117f1bd13748cd30 Andrew Gower 0 54 759 209 2024-03-22T22:45:49Z BrighterShoreModsRNazis 24 wikitext text/x-wiki '''Andrew Gower''' is the founder of [[Fen Research]], and the designer of the game [[Brighter Shores]]. Before working on Brighter Shores, he was most known for the popular [[Wikipedia:Massively multiplayer online role-playing game|MMORPG]] [[Wikipedia:RuneScape|RuneScape]], which he created while studying at the [[Wikipedia:University of Cambridge|University of Cambridge]]. [[Category:Fen Research staff]] Andrew wishes the moderators of the subreddit would stop being Nazis. b3004142f70d64802a8cc8bdb58efcf7b9bd0305 767 759 2024-03-22T22:55:30Z Habblet 11 Reverted edits by [[Special:Contributions/BrighterShoreModsRNazis|BrighterShoreModsRNazis]] ([[User talk:BrighterShoreModsRNazis|talk]]) to last revision by [[User:InvalidCards|InvalidCards]] wikitext text/x-wiki '''Andrew Gower''' is the founder of [[Fen Research]], and the designer of the game [[Brighter Shores]]. Before working on Brighter Shores, he was most known for the popular [[Wikipedia:Massively multiplayer online role-playing game|MMORPG]] [[Wikipedia:RuneScape|RuneScape]], which he created while studying at the [[Wikipedia:University of Cambridge|University of Cambridge]]. [[Category:Fen Research staff]] ed56ed300c149ee869c658fac672f910f683f4f9 Branch 0 464 760 2024-03-22T22:47:01Z InvalidCards 4 Created page with "{{Unofficial name}} {{Infobox Item |name=Branch |image=Branch.png |release= |episode=Hopeforest |profession=[[Woodcutter]] |value=48 }} '''Branches''' can be collected by the [[Woodcutter]] [[profession]] in [[Hopeforest]]. [[Category:Items]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name=Branch |image=Branch.png |release= |episode=Hopeforest |profession=[[Woodcutter]] |value=48 }} '''Branches''' can be collected by the [[Woodcutter]] [[profession]] in [[Hopeforest]]. [[Category:Items]] 59f1c7412f933dab45ed081dc4d7dd6ad29d7a32 763 760 2024-03-22T22:50:57Z InvalidCards 4 Infobox now wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name=Branch |image=Branch.png |release= |episode=Hopeforest |profession=[[Woodcutter]] |value=48 }} '''Branches''' can be collected by the [[Woodcutter]] [[profession]] in [[Hopeforest]]. b3e0d5e8276e14bffa7666ced1a8b57af2bd1983 Miner potion 0 465 761 2024-03-22T22:49:41Z InvalidCards 4 Created page with "{{Unofficial name}} {{Infobox Item |name=Miner potion |image=Miner potion.png |release= |episode=Hopeport |profession=[[Alchemist]] |value=16 }} '''Miner potions''' are a type of [[potion]]." wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name=Miner potion |image=Miner potion.png |release= |episode=Hopeport |profession=[[Alchemist]] |value=16 }} '''Miner potions''' are a type of [[potion]]. 5f25e16c63f063dd80403d9917b231d8e35acff2 File:Branch.png 6 466 764 2024-03-22T22:52:13Z InvalidCards 4 A branch wikitext text/x-wiki == Summary == A branch c1eb7f12d01e99f3a260f388e798469ad89d929b File:Miner potion.png 6 467 766 2024-03-22T22:53:33Z InvalidCards 4 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Mine of Mantuban 0 74 776 297 2024-03-22T23:03:41Z Biscuit Prime 26 wikitext text/x-wiki '''Mine of Mantuban''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. The Nazis who run the subreddit will make sure you buy them. {{Premium Pass}} [[Category:Locations]] 31cff370f5d15eff0dff5b2aea2db7f74e41b4c0 781 776 2024-03-22T23:06:23Z InvalidCards 4 Reverted edits by [[Special:Contributions/Biscuit Prime|Biscuit Prime]] ([[User talk:Biscuit Prime|talk]]) to last revision by [[User:Jayden|Jayden]] wikitext text/x-wiki '''Mine of Mantuban''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. {{Premium Pass}} [[Category:Locations]] 3e9028e410a0d00267b21684e7e96958bd44d162 Player 0 168 777 515 2024-03-22T23:04:40Z Biscuit Prime 26 wikitext text/x-wiki '''Players''' are human-controlled characters in [[Brighter Shores]]. They have the ability to explore the world, train [[professions]], pick a [[class]], and more. Players can access all free-to-play areas in the game, but their parent [[account]] owning a [[Premium Pass]] will allow them to access more content. Each player has a character name, which is suffixed with a hash and a series of numbers. Nazis are allowed on Brightershores subreddit. Free-to-play players cannot change their character name after creation, but Premium Pass owners are able to set a unique character name (without a suffix) and change their name at any time. [[Category:Community]] 4e7f1e4362b19a3fe8b475ec23b98222303469fb 780 777 2024-03-22T23:06:18Z InvalidCards 4 Reverted edits by [[Special:Contributions/Biscuit Prime|Biscuit Prime]] ([[User talk:Biscuit Prime|talk]]) to last revision by [[User:Jayden|Jayden]] wikitext text/x-wiki '''Players''' are human-controlled characters in [[Brighter Shores]]. They have the ability to explore the world, train [[professions]], pick a [[class]], and more. Players can access all free-to-play areas in the game, but their parent [[account]] owning a [[Premium Pass]] will allow them to access more content. Each player has a character name, which is suffixed with a hash and a series of numbers. Free-to-play players cannot change their character name after creation, but Premium Pass owners are able to set a unique character name (without a suffix) and change their name at any time. [[Category:Community]] 1c3a3ca451bfc1859506f9b24871d6ac98fa4949 Alchemist 0 63 778 390 2024-03-22T23:05:35Z Biscuit Prime 26 wikitext text/x-wiki [[File:Alchemist.jpg|thumb|right|A player practicing Alchemy.]] '''Alchemist''' is a type of [[professions|profession]]. The mods of the subreddit could use a real profession. {{Professions}} ccb6931da6d0122fda4b0752f2bc5586c5c5cce0 779 778 2024-03-22T23:06:11Z InvalidCards 4 Reverted edits by [[Special:Contributions/Biscuit Prime|Biscuit Prime]] ([[User talk:Biscuit Prime|talk]]) to last revision by [[User:Wolaznik|Wolaznik]] wikitext text/x-wiki [[File:Alchemist.jpg|thumb|right|A player practicing Alchemy.]] '''Alchemist''' is a type of [[professions|profession]]. {{Professions}} a6366480ac6a6944084af488ed3e5c538a8b612f Brighter Shores 0 51 782 768 2024-03-22T23:15:38Z Brightershoreswiki 27 wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by designed by [[Andrew Gower]]. It will be released in Q3 2024, and will be available for Windows and macOS (Apple Silicon and Intel chipsets). The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An ias released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}} The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. Brighter Shores features an ongoing story with hundreds of hours of gameplay.{{CiteGeneral|url=https://store.steampowered.com/app/2791440/Brighter_Shores/|title=Brighter Shores on Steam|author=Valve|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/eYgMA|archivedate=22 March 2024}} Players start their journey in [[Hopeport]], as a member of the town guard. ==Trivia== * The logo of Brighter Shores features [[Hopeport Obelisk]]. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] * [https://brightershores.com/ Official website] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] 80911a77bdbe2f4b06e41870d3028037f624f065 784 782 2024-03-22T23:16:58Z Brightershoreswiki 27 /* Trivia */ wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by designed by [[Andrew Gower]]. It will be released in Q3 2024, and will be available for Windows and macOS (Apple Silicon and Intel chipsets). The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An ias released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}} The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. Brighter Shores features an ongoing story with hundreds of hours of gameplay.{{CiteGeneral|url=https://store.steampowered.com/app/2791440/Brighter_Shores/|title=Brighter Shores on Steam|author=Valve|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/eYgMA|archivedate=22 March 2024}} Players start their journey in [[Hopeport]], as a member of the town guard. ==Trivia== * The logo of Brighter Shores features [[Hopeport Obelisk]]. The mods of the subreddit are Nazis. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] * [https://brightershores.com/ Official website] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] c7aa598999e3909382b66130a0497ad4423c3bdf 786 784 2024-03-22T23:17:22Z InvalidCards 4 Reverted edits by [[Special:Contributions/Brightershoreswiki|Brightershoreswiki]] ([[User talk:Brightershoreswiki|talk]]) to last revision by [[User:Habblet|Habblet]] wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024, and will be available for Windows and macOS (Apple Silicon and Intel chipsets). The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An initial two-minute trailer was released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}} The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. Brighter Shores features an ongoing story with hundreds of hours of gameplay.{{CiteGeneral|url=https://store.steampowered.com/app/2791440/Brighter_Shores/|title=Brighter Shores on Steam|author=Valve|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/eYgMA|archivedate=22 March 2024}} Players start their journey in [[Hopeport]], as a member of the town guard. ==Trivia== * The logo of Brighter Shores features [[Hopeport Obelisk]]. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] * [https://brightershores.com/ Official website] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] 015f3631721cc1eaf49a1f4a3f234a7081bef543 798 786 2024-03-23T01:00:21Z Jayden 3 wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024, and will be available for Windows and macOS (Apple Silicon and Intel chipsets). The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. Brighter Shores features an ongoing story with hundreds of hours of gameplay.{{CiteGeneral|url=https://store.steampowered.com/app/2791440/Brighter_Shores/|title=Brighter Shores on Steam|author=Valve|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/eYgMA|archivedate=22 March 2024}} Players start their journey in [[Hopeport]], as a member of the town guard. ==History== The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An initial two-minute trailer was released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}}. A closed beta is planned in 2024 prior to the release of the game.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767973447425003776|author=Andrew Gower|date=13 March 2024|accessdate=23 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/BknSB|archivedate=23 March 2024}} ==Trivia== * The logo of Brighter Shores features [[Hopeport Obelisk]]. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] * [https://brightershores.com/ Official website] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] fa44323729dbe50dce440d668602c35dec020748 799 798 2024-03-23T01:01:24Z Jayden 3 wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024, and will be available for Windows and macOS (Apple Silicon and Intel chipsets). The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. Brighter Shores features an ongoing story with hundreds of hours of gameplay.{{CiteGeneral|url=https://store.steampowered.com/app/2791440/Brighter_Shores/|title=Brighter Shores on Steam|author=Valve|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/eYgMA|archivedate=22 March 2024}} Players start their journey in [[Hopeport]], as a member of the town guard. ==History== The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An initial two-minute trailer was released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}}. A closed beta is planned in 2024 prior to the release of the game.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767973447425003776|author=Andrew Gower|date=13 March 2024|accessdate=23 March 2024|quote=There will be a closed beta. I will post more about it on x/twitter closer to the time.|archiveurl=https://archive.is/BknSB|archivedate=23 March 2024}} ==Trivia== * The logo of Brighter Shores features [[Hopeport Obelisk]]. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] * [https://brightershores.com/ Official website] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] af7bb5671f0e5b5effd8ffa33af4be2813deee74 800 799 2024-03-23T01:01:36Z Jayden 3 wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024, and will be available for Windows and macOS (Apple Silicon and Intel chipsets). The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. Brighter Shores features an ongoing story with hundreds of hours of gameplay.{{CiteGeneral|url=https://store.steampowered.com/app/2791440/Brighter_Shores/|title=Brighter Shores on Steam|author=Valve|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/eYgMA|archivedate=22 March 2024}} Players start their journey in [[Hopeport]], as a member of the town guard. ==History== The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An initial two-minute trailer was released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}} A closed beta is planned in 2024 prior to the release of the game.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767973447425003776|author=Andrew Gower|date=13 March 2024|accessdate=23 March 2024|quote=There will be a closed beta. I will post more about it on x/twitter closer to the time.|archiveurl=https://archive.is/BknSB|archivedate=23 March 2024}} ==Trivia== * The logo of Brighter Shores features [[Hopeport Obelisk]]. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] * [https://brightershores.com/ Official website] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] 4f7caee8389ec9c5829517880697c8247d823336 821 800 2024-03-23T02:31:12Z wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024, and will be available for Windows and macOS (Apple Silicon and Intel chipsets). The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. Brighter Shores features an ongoing story with hundreds of hours of gameplay.{{CiteGeneral|url=https://store.steampowered.com/app/2791440/Brighter_Shores/|title=Brighter Shores on Steam|author=Valve|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/eYgMA|archivedate=22 March 2024}} New content is released in the game in an episodic format. Players start their journey in [[Hopeport]], as a member of the town guard. ==History== The game has been under active development since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An initial two-minute trailer was released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}} A closed beta is planned in 2024 prior to the release of the game.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767973447425003776|author=Andrew Gower|date=13 March 2024|accessdate=23 March 2024|quote=There will be a closed beta. I will post more about it on x/twitter closer to the time.|archiveurl=https://archive.is/BknSB|archivedate=23 March 2024}} ==Trivia== * The logo of Brighter Shores features [[Hopeport Obelisk]]. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] * [https://brightershores.com/ Official website] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] 3b804231d1b3e2a7c08939898f7ddf34845eebe4 Professions 0 56 783 774 2024-03-22T23:16:23Z Brightershoreswiki 27 /* List of professions */ wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[NAZI]] || Gathering items |- | || [[NAZI]] || Cooking [[food]] items |- | || [[NAZI]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> {{Professions}} {{Mechanics}} 547c42ee76536c92ffeb9a72c0d3ba04aba0b7fe 785 783 2024-03-22T23:17:10Z InvalidCards 4 Reverted edits by [[Special:Contributions/Brightershoreswiki|Brightershoreswiki]] ([[User talk:Brightershoreswiki|talk]]) to last revision by [[User:Habblet|Habblet]] wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> {{Professions}} {{Mechanics}} d9c0b750c926aad63e20d96d17df7e810a882421 792 785 2024-03-22T23:51:05Z Angelvaloel 32 wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. Being idiots is the main profession for players of this game. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> {{Professions}} {{Mechanics}} 7a7ac87bc9b73226cde18377c9fe1701af85ee93 793 792 2024-03-22T23:51:18Z InvalidCards 4 Undo revision 792 by [[Special:Contributions/Angelvaloel|Angelvaloel]] ([[User talk:Angelvaloel|talk]]) wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> {{Professions}} {{Mechanics}} d9c0b750c926aad63e20d96d17df7e810a882421 797 793 2024-03-23T00:32:04Z Jayden 3 wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. Most professions can either be trained by the player actively playing the game, or [[Passive activity|passively]] while the game is closed. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> ==References== {{Reflist}} {{Professions}} {{Mechanics}} 046355ddc0c716b8da10322ae21394a90d0e100c Fen Research Ltd 0 468 787 2024-03-22T23:33:05Z Shoyrukon 29 Redirected page to [[Fen Research]] wikitext text/x-wiki #REDIRECT [[Fen Research]] e511993f7283f332eaa2303076cafbd1c6a49df4 Fen Research 0 55 788 221 2024-03-22T23:40:23Z Shoyrukon 29 wikitext text/x-wiki '''Fen Research''' is a game development studio based in [[Wikipedia:Cambridge|Cambridge]], UK. Founded by [[Andrew Gower]], it is currently actively developing the game [[Brighter Shores]]. Their official X, formerly known as Twitter, account is [[https://twitter.com/FenResearch|@FenResearch]] [[Category:Fen Research|#]] 10b414823a422761e4506f61d065ce966a24314f 791 788 2024-03-22T23:41:50Z Shoyrukon 29 wikitext text/x-wiki '''Fen Research''' is a game development studio based in [[Wikipedia:Cambridge|Cambridge]], UK. Founded by [[Andrew Gower]], it is currently actively developing the game [[Brighter Shores]]. Their official X, formerly known as Twitter, account is [http://twitter.com/FenResearh @FenResearch] [[Category:Fen Research|#]] 81c987891e3e90db3e1fb42594a0d32506bcd357 Premium Pass 0 76 789 772 2024-03-22T23:40:44Z Chris telles 31 wikitext text/x-wiki [[File:Premium Pass comparison.png|thumb|A comparison of some of the Premium Pass features.]] The '''Premium Pass''' is a type of membership that can be purchased using real money. It provides access to a number of new areas and features in [[Brighter Shores]]. While owning the Premium Pass is required to access the benefits, it will not be a recurring subscription. It is required to pay out your ass for a terrible game. {{CiteGeneral|url=https://www.gamesradar.com/ahead-of-his-new-mmo-runescape-creator-says-games-have-gotten-too-microtransaction-heavy-our-number-one-aim-is-not-monetization-its-players/|title=Ahead of his new MMO, RuneScape creator says games have gotten too microtransaction-heavy: "Our number one aim is not monetization, it's players"|author=Kaan Serin|date=17 March 2024|accessdate=22 March 2024|quote="One of the key differences is we're probably not going to do auto-recurring payments," continues Gower.}} ==Benefits== There are several benefits to purchasing a Premium Pass: * Access to the [[Mine of Mantuban]] and [[Crenopolis]] * Ability to choose a unique character name, and change your name at any point * Access to exclusive armour dyes * Ability to [[trade]] with other [[player]]s ==References== {{Reflist}} {{Premium Pass}} {{Mechanics}} [[Category:Community]] 36104df807854b3c2203678aed7e1355f577d6d3 790 789 2024-03-22T23:41:02Z InvalidCards 4 Reverted edits by [[Special:Contributions/Chris telles|Chris telles]] ([[User talk:Chris telles|talk]]) to last revision by [[User:Habblet|Habblet]] wikitext text/x-wiki [[File:Premium Pass comparison.png|thumb|A comparison of some of the Premium Pass features.]] The '''Premium Pass''' is a type of membership that can be purchased using real money. It provides access to a number of new areas and features in [[Brighter Shores]]. While owning the Premium Pass is required to access the benefits, it will not be a recurring subscription.{{CiteGeneral|url=https://www.gamesradar.com/ahead-of-his-new-mmo-runescape-creator-says-games-have-gotten-too-microtransaction-heavy-our-number-one-aim-is-not-monetization-its-players/|title=Ahead of his new MMO, RuneScape creator says games have gotten too microtransaction-heavy: "Our number one aim is not monetization, it's players"|author=Kaan Serin|date=17 March 2024|accessdate=22 March 2024|quote="One of the key differences is we're probably not going to do auto-recurring payments," continues Gower.}} ==Benefits== There are several benefits to purchasing a Premium Pass: * Access to the [[Mine of Mantuban]] and [[Crenopolis]] * Ability to choose a unique character name, and change your name at any point * Access to exclusive armour dyes * Ability to [[trade]] with other [[player]]s ==References== {{Reflist}} {{Premium Pass}} {{Mechanics}} [[Category:Community]] 1c435e0525b91b801c9f2fda6736196ebc584549 Andrew Gower 0 54 794 767 2024-03-22T23:54:46Z Takynsl 33 wikitext text/x-wiki '''Andrew Gower''' is the founder of [[Fen Research]], and the designer of the game [[Brighter Shores]]. Before working on Brighter Shores, he was most known for the popular [[Wikipedia:Massively multiplayer online role-playing game|MMORPG]] [[Wikipedia:RuneScape|RuneScape]], which he created while studying at the [[Wikipedia:University of Cambridge|University of Cambridge]]. [[Category:Fen Research staff]] Andrew foolishly let these people try to run the sub. b367112b9e941cca46f3bb1d1e98ad06c031c9b9 795 794 2024-03-22T23:54:58Z Habblet 11 Reverted edits by [[Special:Contributions/Takynsl|Takynsl]] ([[User talk:Takynsl|talk]]) to last revision by [[User:Habblet|Habblet]] wikitext text/x-wiki '''Andrew Gower''' is the founder of [[Fen Research]], and the designer of the game [[Brighter Shores]]. Before working on Brighter Shores, he was most known for the popular [[Wikipedia:Massively multiplayer online role-playing game|MMORPG]] [[Wikipedia:RuneScape|RuneScape]], which he created while studying at the [[Wikipedia:University of Cambridge|University of Cambridge]]. [[Category:Fen Research staff]] ed56ed300c149ee869c658fac672f910f683f4f9 796 795 2024-03-23T00:02:31Z Jayden 3 Protected "[[Andrew Gower]]": Excessive vandalism ([Edit=Allow only autoconfirmed users] (expires 00:02, 24 March 2024 (UTC)) [Move=Allow only autoconfirmed users] (expires 00:02, 24 March 2024 (UTC))) wikitext text/x-wiki '''Andrew Gower''' is the founder of [[Fen Research]], and the designer of the game [[Brighter Shores]]. Before working on Brighter Shores, he was most known for the popular [[Wikipedia:Massively multiplayer online role-playing game|MMORPG]] [[Wikipedia:RuneScape|RuneScape]], which he created while studying at the [[Wikipedia:University of Cambridge|University of Cambridge]]. [[Category:Fen Research staff]] ed56ed300c149ee869c658fac672f910f683f4f9 Module:Infobox 828 102 801 232 2024-03-23T01:31:54Z Gau Cho 5 Slowly starting a bit of cleanup Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local Infobox = {} Infobox.__index = Infobox Infobox.__tostring = Infobox.tostring -- Edit button for unknown params local editbutton = require('Module:Edit button') local edit = editbutton("'''?''' (edit)") -- Page title local pagename = mw.title.getCurrentTitle().fullText -- map of flags to html tags used by Infobox.addRow() -- let's only define it once, since :addRow() is used multiple times per module local tagmap = { tr = 'tr', th = 'th', td = 'td', argh = 'th', argd = 'td' } --[=[ -- Standardized functions -- called as string with defineParams --]=] -- Standardized "has content" function function hasContent(arg, default) -- Return arg if any non-whitespace character is found return string.match(arg or '','%S') and arg or default end -- Standardized "name" function function subjectName(arg) return string.match(arg or '','%S') and arg or nil end -- Create a standardized release function, since so many pages use it -- Turns release and update into a single parameter function releaseUpdate(release, update) if not Infobox.isDefined(release) then return nil end if string.lower(release) == 'no' then return 'N/A' end if not Infobox.isDefined(update) then return string.format('%s (Update unknown)',release) end if string.lower(update) == 'no' then return release end return string.format('%s ([[Update:%s|Update]])', release, update) end -- Standardized image function function image(img) if img and img:find('%S') then return img else return nil end end -- Standardized numbers function numbers(num) num = string.gsub(num or '',',','') return tonumber(num) end -- map of names to pre-defined functions, used by Infobox:defineParams local func_map = { name = subjectName, release = { name = releaseUpdate, params = { 'release', 'update' }, flag = 'p' }, removal = { name = releaseUpdate, params = { 'removal', 'removalupdate' }, flag = 'p' }, has_content = hasContent, image = image, numbers = numbers, } -- used to fill nil params in switching sections -- this message isn't kidding -- If you see this message anywhere outside of this code -- (including inside switchfo box data) -- report it local nil_param = 'INFOBOX MODULE ERROR, PLEASE REPORT TO WIKI ADMIN' -- In case the nil_param is needed outside of this module -- give it an easy way to be accessed function Infobox.nilParam() return nil_param end -- switch infobox globals local LINE_WIDTH = 300 local MAX_LINES = 2 local DEFAULT_MAX_BUTTONS = 6 -- calculate with width of a switch infobox button -- potential @TODO: rework to use actual character widths function button_width(label) local PX_PER_CHAR = 6 local PX_PAD_MAR = 24 return string.len(label) * PX_PER_CHAR + PX_PAD_MAR end Infobox.splitpoint = '&&SPLITPOINT&&' -- quick test to see if a value is considered nil function Infobox.isDefined(arg) if arg == nil then return false end if type(arg) == 'string' then if arg == nil_param then return false elseif arg:find('%S') then if arg:find('action=edit') then return false else return true end else return false end end return true end --[[ Infobox class -- args : parameters from frame to pass through -- Sets a meta table and creates a <div> tag wrapper -- other fields are initialized in other functions --]] function Infobox.new(args) local obj = setmetatable({ args = args, -- parameters (uncleaned) rargs = {}, -- parameters (cleaned) params = {}, -- parameters mapped to functions paramnames = {}, -- parameter names dupeable = {}, -- parameters that are allowed to have duplicated switch data add_infobox_class = true, -- if true, will add the class 'infobox' switchfo = false, -- switch infobox? or not? switchfoattr = {}, -- switch data class changes maxbuttons = DEFAULT_MAX_BUTTONS, -- maximum number of buttons before switching becomes a menu switch_tag = '', -- switchfo data switch_buttons_tag = '', -- switchfo buttons custom_buttons = false, smw_error_tag = '', rtable = nil, -- returned infobox table labels = nil, -- returned labels _smw = {}, -- semantic mediawiki data _smwOne = {}, -- semantic mediawiki data part 2 _smwSubobject = {}, -- semantic mediawiki data part 3 _smwSubobjectAppliesTo = nil, -- semantic mediawiki data part 3.5 _smwElement = {}, -- semantic mediawiki data part 4 setSMWElement = true, versions = -1, -- number of switch versions (-1 is uncalculated) infoboxname = nil, -- template name appendStrs = {}, bottomlinks = { -- template bottom links links = { { 'Template talk:%s', 'talk' }, { 'Template:%s', 'view' } }, colspan = 2 }, catdata = {}, -- meta category data catlist = {}, -- defined table of category names (strings) __finished = false, -- infobox status }, Infobox) return obj end --[[ Removes the addition of infobox class use before :create() --]] function Infobox:removeClassInfobox() self.add_infobox_class = false end --[[ Creates an infobox -- If Infobox:maxVersions() has not been run, it will be run here -- If the infobox should be a switch infobox, all labels will be added -- Creates a wikitable that will be the infobox THIS SHOULD BE DONE AFTER ADDING AND CLEANING PARAMETERS --]] function Infobox:create() -- Run to find if this is a switch infobox and if so, how many boxes if self.versions == -1 then self:maxVersion() end -- Run if switch infobox if self.switchfo then -- Buttons wrapper -- Hidden by default, unhidden by javascript self.switch_buttons_tag = mw.html.create('div') :addClass('infobox-buttons') -- default version to immediately switch to via js local defv = tonumber(self.args.defver) if defv and defv <= self.versions then -- you troll, don't try to show something that isn't there self.switch_buttons_tag:attr('data-default-version',defv) end local numlines = 1 local width_working = 0 local total_width = 0 local buttons = {} -- Add individual buttons to the wrapper for i=1,self.versions do local wid = button_width(self.labels[i] or i) width_working = width_working + wid total_width = total_width + wid if width_working > LINE_WIDTH then numlines = numlines + 1 width_working = wid end local b = mw.html.create('span') :attr('data-switch-index',tostring(i)) -- space to underscore :attr('data-switch-anchor','#'..string.gsub(self.labels[i] or i,' ','_')) :addClass('button') :wikitext(self.labels[i] or i) table.insert(buttons, {b, wid}) end local best = {-1, 100000} if (numlines > 1) and (numlines <= MAX_LINES) then -- attempt to balance line widths local w_s, w_e = 0,total_width for i = 1,#buttons-1 do w_s = w_s + buttons[i][2] w_e = w_e - buttons[i][2] if w_s > LINE_WIDTH then -- w_s only increases, so we're done once it exceeds the width break end if w_e <= LINE_WIDTH then -- w_e only decreases, so just continue if it exceeds line local diff = math.abs(w_s - w_e) if diff < best[2] then best = { i, diff } end end end if best[1] == -1 then best = { math.floor(#buttons/2), 100000 } end end for i,v in ipairs(buttons) do self.switch_buttons_tag:node(v[1]) if i == best[1] then self.switch_buttons_tag:tag('br') end end -- Used by JavaScript to turn the buttons into a menu list if too many variants if self.versions > self.maxbuttons or numlines > MAX_LINES then self.switch_buttons_tag:addClass('infobox-buttons-select') end self.switch_buttons_tag:done() end -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') if self.add_infobox_class then self.rtable:addClass('infobox') end -- Add necessary class if switch infobox if self.switchfo then self.rtable:addClass('infobox-switch') end end -- Defines an infobox name ({{Template:arg}}) -- Used to create a link at the bottom of pages function Infobox:defineName(arg) self.infoboxname = arg end -- Defines the bottom links of the infobox -- pass a table whose elements are tables that define a link and a label -- { -- { 'link', 'label }, -- ... -- } -- The template name can be substituted into the tables using '%s' -- If we wanted Template:InFooBar to link to it's /doc page with a "doc" label: -- { ... -- { 'Template:%s/doc', 'doc' }, -- ... } -- The template's name can only be called 5 times function Infobox:defineLinks(arg) if type(arg) == 'table' then if arg.colspan then self.bottomlinks.colspan = arg.colspan end if arg.links then if type(arg.links) == 'table' then self.bottomlinks.links = arg.links end end if arg.hide then self.bottomlinks.hide = arg.hide end end end -- Change max number of buttons before switching to menu -- defaults to 5 -- MUST BE RUN BEFORE :create() function Infobox:setMaxButtons(arg) -- if not a number, just go back to default self.maxbuttons = tonumber(arg) or DEFAULT_MAX_BUTTONS end --[[ Add parameters functions All parameters should be tables The first parameter defines the type of cell to create -- th : <th> -- td : <td> -- argh : <th> -- argd : <td> The second parameter defines what is inside the tag -- th | th : text passed -- argh | argd : parameter with the name passed Additional named parameters can be used to add any styling or attributes -- attr : mw.html:attr({ arg1 = '1', ... }) -- css : mw.html:css({ arg1 = '1', ...) -- class : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not -- rowspan : mw.html:attr('rowspan',arg) -- colspan : mw.html:attr('colspan',arg) -- title : mw.html:attr('title',arg) Example: ipsobox:addRow( { 'th' , 'Header', title = 'Title' }, { 'argh', 'arg1', class = 'parameter' } }) produces: <tr><th title="Title">Header</th><th class="parameter">args.arg1</th></tr> adding it to the infobox table of ipsobox Cells defined as 'argh' and 'argd' will automatically have data-attr-param="" added, and defined as the passed argument if the infobox in creation is defined as a switch infobox The row itself may be modified with metadata using the named index at "meta" -- meta.addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox.addRow(box, ...) -- New row to add local args = ... local _row = box.rtable:tag('tr') -- For each member of tags for i, v in ipairs(args) do -- map tag name to appropriate tag, default to <td> local _cell = _row:tag(tagmap[v.tag] or 'td') -- mw.html:attr() and mw.html:css() both accept table input -- colspan, rowspan, title will be quick ways to access attr -- these functions also do all the necessary work if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end -- if class is a string, it can be added directly -- if a table, add every value -- mw.html:addClass() doesn't function with tables -- so iterate over the class names here and add them individually if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- if the cell is a normal th or td, add the exact argument passed if v.tag == 'th' or v.tag == 'td' then _cell:wikitext(v.content) -- if defined with "arg", add the argument with name passed elseif v.tag == 'argh' or v.tag == 'argd' then local content = box.rargs[v.content] -- if the requested parameter doesn't exist whatsoever, just return a blank string if not content then content = '' -- If switches exist, first attempt to use the version1 values elseif content.switches then if content.switches[1] ~= nil_param then content = content.switches[1] or '' else content = content.d or '' end -- fallback to default value else content = content.d or '' end _cell:wikitext(content) -- add necessary attribute for switch infoboxes if box.switchfo then _cell:attr('data-attr-param',v.content) end end end -- not that meta -- allow classes to be defined on the whole row -- okay, sort of meta if args.meta then if args.meta.addClass then _row:addClass(args.meta.addClass) end end return box end function Infobox.customButtonPlacement(box,arg) box.custom_buttons = arg return box end function Infobox.addButtonsRow(box, args) if box.switchfo then box.custom_buttons = true local _row = box.rtable:tag('tr') :addClass('rsw-infobox-switch-buttons-row') :tag('td') :addClass('rsw-infobox-switch-buttons') :attr('colspan', args.colspan) :node(box.switch_buttons_tag) end return box end function Infobox.addButtonsCaption(box) if box.switchfo then box.custom_buttons = true local _row = box.rtable:tag('caption') :addClass('rsw-infobox-switch-buttons-caption') :node(box.switch_buttons_tag) end return box end --[[ -- adds a blank row of padding spanning the given number of columns --]] function Infobox.pad(box, colspan, class) local tr = box:tag('tr') :tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') :done() if class then tr:addClass(class) end tr:done() return box end --[[ -- functions the same as mw.html:wikitext() on the wrapper -- Should only be used for categories really --]] function Infobox.wikitext(box, arg) box.rtable:wikitext(arg) return box end --[[ -- Adds the specified item(s) to the end of the infobox, outside of the table -- items are concatenated together with an empty space --]] function Infobox.append(box, ...) for i,v in ipairs({...}) do table.insert(box.appendStrs, v) end return box end --[[ -- Adds a caption to the infobox -- defaults to the pagename -- or the default argument if defined --]] function Infobox.caption(box) -- default to the article's name local name = pagename -- first see if the name parameter exists if box.rargs.name then -- then try the default if box.rargs.name.d then name = box.rargs.name.d -- then look for swithes elseif box.rargs.name.switches then -- then look at version 1 if box.rargs.name.switches[1] ~= nil_param then name = box.rargs.name.switches[1] end end end local caption = box.rtable:tag('caption') :wikitext(name) -- add necessary attribute for switch infoboxes if box.switchfo then caption:attr('data-attr-param','name') end return box end --[[ -- Functions for styling the infobox -- works the same as the respective mw.html functions --]] -- attr function Infobox.attr(box, arg) box.rtable:attr(arg) return box end -- css function Infobox.float(box,float) box.rtable:css('float',float) return box end function Infobox.css(box, ...) box.rtable:css(...) return box end -- addClass function Infobox.addClass(box, arg) box.rtable:addClass(arg) return box end -- Much like Infobox.addClass, but adds multiple classes function Infobox.addClasses(box, ...) for _, v in ipairs(...) do box.rtable:addClass(box) end return box end --[[ Add tags directly to the infobox table Use sparingly Returns the tag created rather than the entire box Which is an mw.html object Further uses of :tag() will be mw.html.tag, rather than Infobox.tag As such, Infobox:addRow() cannot be used afterwards without restating the infobox as the object --]] function Infobox.tag(box, arg) return box.rtable:tag(arg) end --[[ Allows the infobox to use Semantic Media Wiki and give parameters properties Pass a table to this function to map parameter names to properties Calling syntax: -- {{#show:page|?property}}: -- "<property>" - unqualified and without a number will display the default value -- "<property#>" - with a number will show the switch data from that index -- "all <property>" - adding all will display every unique value in a comma separated list Properties initiated in Infobox:finish() --]] function Infobox:useSMW(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smw[w] = v end end end --[[ As above, but only assigns to "<property>", which will act like "all <property>" - "<property>#" not present Properties initiated in Infobox:finish() --]] function Infobox:useSMWOne(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smwOne[w] = v end end end --[[ Set up the infobox to set properties in a SMW subobject. This will create a subobject for each version - if there is only one version, it will put the properties directly on to the page, like useSMWOne Properties initiated in Infobox:finish() --]] function Infobox:useSMWSubobject(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smwSubobject[w] = v end end end function Infobox:useSMWElement(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smwElement[w] = v end self.setSMWElement = true end end --[[ Finishing function -- Finishes the return, adding necessary final tags --]] function Infobox:finish() local onmain = mw.title.getCurrentTitle().namespace == 0 -- Don't finish twice if self.__finished then return end -- Add switch infobox resources --if self.switchfo then self.rtable:attr('data-resource-class', '.infobox-resources-'..string.gsub(tostring(self.infoboxname), ' ', '_')) -- Wrapper tag, hidden self.switch_tag = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..string.gsub(tostring(self.infoboxname), ' ', '_')) :addClass('hidden') for _, v in ipairs(self.paramnames) do local param = self.rargs[v] local default_value = param.d or edit -- Parameters may not have any switches data, those are ignored local switchattr = self.switchfoattr[v] -- Parameter data wrapper local res_span = self.switch_tag:tag('span') :attr('data-attr-param',v) -- Child for default value local def = res_span:tag('span') :attr('data-attr-index',0) :wikitext(tostring(default_value)) -- Switch classes if switchattr then def:attr('data-addclass',switchattr.d) end def:done() if param.switches then -- Add all switches, ignore those defined as nil for i, w in ipairs(param.switches) do if w ~= nil_param and w ~= nil and w ~= default_value then local _w = res_span:tag('span') :attr('data-attr-index',i) :wikitext(tostring(w)) -- Switch classes if switchattr then _w:attr('data-addclass',switchattr.switches[i]) end _w:done() end end res_span:done() end end -- Add a tracking category for mainspace pages that have more than 1 version if onmain then if self.versions > 1 then -- version count data self.switch_tag:tag('span') :wikitext(string.format('Versions: [[Version count::%s]]',self.versions)) :done() self.switch_tag:wikitext('[[Category:Pages that contain switch infobox data]]') end end self.switch_tag:done() --end -- smw data if onmain then -- members smw display, yes --> true; no --> false; other --> unknown local function smwMembers(smw_arg) local smw_argv = string.lower(smw_arg or '') if smw_argv == 'yes' then return 'true' elseif smw_argv == 'no' then return 'false' else return 'unknown' end end -- release date smw display local function smwRelease(smw_arg) local _d,_m,_y = string.match(smw_arg or '', '%[%[(%d%d?) (%a+)%]%] %[%[(%d%d%d%d)%]%]') if _d == nil then return nil end return table.concat({_d,_m,_y},' ') end -- default, just return the text local function smwDefault(smw_arg) if smw_arg ~= nil_param and smw_arg ~= edit then return smw_arg else return 'unknown' end end local smw_to_func = { members = smwMembers, release = smwRelease, removal = smwRelease, default = smwDefault } local smw_data_arr = {} -- custom properties for w, v in pairs(self._smw) do -- only needed to give special formatting to release -- and to make members true/false local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local _arg = curarg.d local argdefault = _arg if _arg == edit then argdefault = 'unknown' else local _x = mw.text.split(tostring(_arg), Infobox.splitpoint, true) if not smw_data_arr[v] then smw_data_arr[v] = {} end if not smw_data_arr['All '..v] then smw_data_arr['All '..v] = {} end for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) table.insert(smw_data_arr[v], temp_smw_data) table.insert(smw_data_arr['All '..v], temp_smw_data) end end if curarg.switches then local _args = {} for _, x in ipairs(curarg.switches) do if x ~= nil_param then table.insert(_args,x) else table.insert(_args,argdefault or nil_param) end end for i, x in ipairs(_args) do local _x = mw.text.split(tostring(x), Infobox.splitpoint, true) if not smw_data_arr[v..i] then smw_data_arr[v..i] = {} end if not smw_data_arr['All '..v] then smw_data_arr['All '..v] = {} end for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) table.insert(smw_data_arr[v..i], temp_smw_data) table.insert(smw_data_arr['All '..v], temp_smw_data) end end end end end -- if one version, put smwSubobject into smwOne and just do that if self.versions < 2 and not self._smwSubobjectAppliesTo then for w,v in pairs(self._smwSubobject) do if not self._smwOne[w] then self._smwOne[w] = v elseif type(self._smwOne[w]) == 'table' then table.insert(self._smwOne[w], v) else self._smwOne[w] = { self._smwOne[w], v } end end end for w, _v in pairs(self._smwOne) do -- only needed to give special formatting to release -- and to make members true/false local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local _arg = curarg.d local argdefault = _arg if _arg == edit then argdefault = 'unknown' end if curarg.switches then local _args = {} for _, x in ipairs(curarg.switches) do if x ~= nil_param then table.insert(_args,x) else table.insert(_args,argdefault or nil_param) end end for i, x in ipairs(_args) do local _x = mw.text.split(tostring(x), Infobox.splitpoint, true) for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) for _,v in ipairs(type(_v) == 'table' and _v or {_v}) do if not smw_data_arr[v] then smw_data_arr[v] = {} end table.insert(smw_data_arr[v], temp_smw_data) end end end else if Infobox.isDefined(_arg) then local _targ = mw.text.split(tostring(_arg), Infobox.splitpoint, true) for _,y in ipairs(_targ) do local temp_smw_data = smwfunc(y) for _,v in ipairs(type(_v) == 'table' and _v or {_v}) do if not smw_data_arr[v] then smw_data_arr[v] = {} end table.insert(smw_data_arr[v], temp_smw_data) end end end end end end local smw_data_arr_elem = {} for w, v in pairs(self._smwElement) do -- only needed to give special formatting to release -- and to make members true/false local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local _arg = curarg.d local argdefault = _arg if _arg == edit then argdefault = 'unknown' end if curarg.switches then local _args = {} for _, x in ipairs(curarg.switches) do if x ~= nil_param then table.insert(_args,x) else table.insert(_args,argdefault or nil_param) end end for i, x in ipairs(_args) do if Infobox.isDefined(x) then local _x = mw.text.split(tostring(x), Infobox.splitpoint, true) for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) if not smw_data_arr_elem[v] then smw_data_arr_elem[v] = {} end table.insert(smw_data_arr_elem[v], temp_smw_data) end end end else if Infobox.isDefined(_arg) then local _targ = mw.text.split(tostring(_arg), Infobox.splitpoint, true) for _,y in ipairs(_targ) do local temp_smw_data = smwfunc(y) if not smw_data_arr_elem[v] then smw_data_arr_elem[v] = {} end table.insert(smw_data_arr_elem[v], temp_smw_data) end end end end end -- if is a switchfo, setup for subobjects local smw_data_arr_subobj = {} if self._smwSubobjectAppliesTo then for i,k in ipairs(self._smwSubobjectAppliesTo) do local subobj_data = { ['Is variant of'] = {pagename}, } for w,v in pairs(self._smwSubobject) do local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local argval = curarg.d if curarg.switches then argval = curarg.switches[i] if not Infobox.isDefined(argval) then argval = curarg.d end end if Infobox.isDefined(argval) then local _x = mw.text.split(tostring(argval), Infobox.splitpoint, true) for _, _x1 in ipairs(_x) do _x1 = smwfunc(_x1) if _x1 ~= 'unknown' then if not subobj_data[v] then subobj_data[v] = {} end table.insert(subobj_data[v], _x1) end end end end end for w,v in ipairs(k) do local subobj_name = v -- can't have a . in the first 5 characters of a subobject identifier if mw.ustring.find(mw.ustring.sub(subobj_name,0,5), '%.') then self:wikitext('[[Category:Pages with an invalid subobject name]]') subobj_name = mw.ustring.gsub(subobj_name, '%.', '') end if subobj_name == '0' or subobj_name == '' then self:wikitext('[[Category:Pages with an invalid subobject name]]') subobj_name = 'v_'..subobj_name end smw_data_arr_subobj[subobj_name] = subobj_data end end end local res = mw.smw.set(smw_data_arr) local res_subobj = true for w,v in pairs(smw_data_arr_subobj) do res_subobj = mw.smw.subobject(v, w) if not res_subobj == true then break end end if not (res == true and res_subobj == true) then self.smw_error_tag = mw.html.create('div'):css('display','none'):addClass('infobox-smw-data') if not res == true then self.smw_error_tag:tag('div'):wikitext('Error setting SMW properties: '+res.error):done() end if not res_subobj == true then self.smw_error_tag:tag('div'):wikitext('Error setting SMW subobject properties: '+res_subobj.error):done() end end if self.setSMWElement then if self.smw_error_tag == '' then self.smw_error_tag = mw.html.create('div'):css('display','none'):addClass('infobox-smw-data') end for i,v in pairs(smw_data_arr_elem) do for j,k in ipairs(v) do if k ~= 'unknown' then self.smw_error_tag:tag('span'):wikitext(mw.ustring.format('%s: [[%s::%s]]', i,i,k )) end end end end if self._smwSubobjectAppliesTo then if self.smw_error_tag == '' then self.smw_error_tag = mw.html.create('div'):css('display','none'):addClass('infobox-smw-data') end for w,v in pairs(smw_data_arr_subobj) do local subobjdiv = self.smw_error_tag:tag('div') subobjdiv:tag('span'):wikitext('SMW Subobject for '..w) for j,k in pairs(v) do subobjdiv:tag('span'):wikitext(mw.ustring.format('%s: %s', j, table.concat(k, ', '))) end end end end -- Add view and talk links to infobox -- Only done if a name is defined if self.infoboxname and not self.bottomlinks.hide then local bottom_links = {} for _, v in ipairs(self.bottomlinks.links) do table.insert(bottom_links, string.format( table.concat({'[[', v[1], '|', v[2], ']]'}), self.infoboxname, self.infoboxname, self.infoboxname, self.infoboxname, self.infoboxname) ) end bottom_links = table.concat(bottom_links,' &bull; ') self.rtable:tag('tr'):tag('td') :addClass('infobox-template-links') :attr('colspan', self.bottomlinks.colspan) :wikitext(bottom_links) :done() end -- Define as finished self.__finished = true end --[[ Function for defining parameters -- name : parameter name -- func : function to define param, defaults to looking at blanks DO NOT DEFINE VERSION HERE USE :maxVersion() Can be used any number of times for efficient definition --]] function Infobox:defineParams(...) for _, v in ipairs(...) do -- For every parameter, store its corresponding function to self.params if v.name then -- If the value is a function or a table (which should define a function) if type(v.func) == 'function' or type(v.func) == 'table' then self.params[v.name] = v.func -- If the value is a string, use the predefined Infobox function of that name elseif type(v.func) == 'string' then self.params[v.name] = func_map[v.func] or hasContent -- Everything else just looks for blanks else self.params[v.name] = hasContent() end -- Create a list of all param names table.insert(self.paramnames,v.name) -- function to allow duplicated values if v.dupes then self.dupeable[v.name] = true end end end end --[[ -- Forces an infobox to only use 1 variant -- Mainly used by lite infoboxes -- This should be run before creation --]] function Infobox:noSwitch() self.versions = 1 self.switchfo = false end --[[ -- Calculates the max version -- Adds labels -- Sees if this needs to be a switch infobox -- Returns extra version count (even if already run) --]] function Infobox.maxVersion(box) -- Only allowed to run once if box.versions ~= -1 then return box.versions end box.labels = {} box.versions = 0 local smwappliesto = {} -- Look for up to 125 variants, defined in order for i=1, 125 do -- If variant# exists if box.args['version'..i] then -- Increase version count box.versions = box.versions + 1 -- Add its label local label = box.args['version'..i] or ('Version '..i) table.insert(box.labels,label) -- add to appliesto if box.args['smwname'..i] or box.args['appliesto'..i] then table.insert(smwappliesto, mw.text.split(box.args['smwname'..i] or box.args['appliesto'..i], '¦')) else table.insert(smwappliesto, {label}) end else -- Stop if it doesn't exist break end end -- Define self as a switch infobox if at least 1 other version is found if box.versions > 0 then box.switchfo = true box._smwSubobjectAppliesTo = smwappliesto else -- single version, check for appliesto if box.args['smwname'] or box.args['appliesto'] then box._smwSubobjectAppliesTo = {mw.text.split(box.args['smwname'] or box.args['appliesto'], '¦')} end end -- versions calculated return box.versions end --[[ -- Cleans parameters as defined by the above function -- SHOULD NOT BE RUN UNTIL ALL THINGS ARE DEFINED -- Handles switches as well -- adds table _add to rargs, a cleaned up version of arguments -- d : default value -- switches : table of switches (in numerical order) -- Functions can be defined with tables ---- name : name of function ---- params : table of args to pass to functions ---- flag : flags for input d | #default : use the cleaned parameter first, otherwise passed p : use the passed value of parameters r | l : use raw (literal) text, rather than values -- Defining a single flag will use that flag on all parameters -- Defining a table of flags will use the respective flag by position --]] function Infobox:cleanParams() -- map of flags to functionality local flagmap = { r = 'r', l = 'r', d = 'd', p = 'p' } -- For all parameters named for _, v in ipairs(self.paramnames) do -- Parameter to add local _add = {} local catdata = { all_defined = true, one_defined = false } -- If the value of params is a function if type(self.params[v]) == 'function' then -- Perform that function with the parameter _add.d = self.params[v](self.args[v]) -- If it's a table, parse it into a function elseif type(self.params[v]) == 'table' then -- Find the functions name local func = self.params[v].name if type(func) == 'string' then func = func_map[func] end -- catch all if type(func) ~= 'function' then func = has_content end -- Recreate table of args and flags local func_args = {} local flag = {} -- If the flags are NOT a table, turn them into a table -- Same size as the parameter table -- Every flag will be the same if type(self.params[v].flag) ~= 'table' then -- Map flags, if unmapped, use default local _flag = flagmap[self.params[v].flag] or 'd' -- recreate table for x=1,#self.params[v].params do table.insert(flag,_flag) end -- If flags are already a table, recreate them in new table elseif type(self.params[v].flag) == 'table' then local _flag = self.params[v].flag -- recreate table for x=1,#self.params[v].params do -- Map flags, if unmapped, use default table.insert(flag,flagmap[_flag[x]] or 'd') end end -- Recreate param table, parsing flags as instructions for x, w in ipairs(self.params[v].params) do local xarg -- By default or defined as 'd' -- looks for the cleaned value of the named parameter first -- if it doesn't exist, look at the passed value next -- if that doesn't exist, use blank if flag[x] == 'd' then xarg = self.rargs[w] and self.rargs[w].d -- compare to nil explicitly because false is a valid value if xarg == nil then xarg = self.args[w] or '' end -- Look only at the passed value of the named parameter -- if that doesn't exist, use blank elseif flag[x] == 'p' then xarg = self.args[w] or '' -- Don't interpret value as a parameter name, and paste the as is elseif flag[x] == 'r' then xarg = w end -- Add parsed argument to table table.insert(func_args,xarg) end -- Run function _add.d = func(unpack(func_args)) end if _add.d == nil or _add.d == nil_param then -- have to do pagename defaults here to prevent weird behaviour with switch values if v == 'name' then _add.d = pagename else _add.d = edit end catdata.all_defined = false else --_add.d is not nil catdata.one_defined = true end if self.switchfo then -- Table of switches values and count of them local _add_switch = {} local switches = 0 -- Look for up to the maximum number for i=1, self.versions do local _addarg -- see if this param is allowed to have switch if v ~= 'image' and v ~= 'examine' and string.find(self.args[v..i] or '','%$%d') then local refi = string.match(self.args[v..i],'%$(%d+)') _addarg = _add_switch[tonumber(refi)] or nil_param else -- If the value of params is a function if type(self.params[v]) == 'function' then -- Perform that function with the parameter at that index _addarg = self.params[v](self.args[v..i]) -- If it's a table, parse it into a function elseif type(self.params[v]) == 'table' then -- Find the functions name local func = self.params[v].name if type(func) == 'string' then func = func_map[func] end -- catch all if type(func) ~= 'function' then func = has_content end -- Recreate table of args and flags local func_args = {} local flag = {} -- If the flags are NOT a table, turn them into a table -- Same size as the parameter table -- Every flag will be the same if type(self.params[v].flag) ~= 'table' then -- Map flags, if unmapped, use default local _flag = flagmap[self.params[v].flag] or 'd' -- recreate table for x=1,#self.params[v].params do table.insert(flag,_flag) end -- If flags are already a table, recreate them in new table elseif type(self.params[v].flag) == 'table' then local _flag = self.params[v].flag -- recreate table for x=1,#self.params[v].params do -- Map flags, if unmapped, use default table.insert(flag,flagmap[_flag[x]] or 'd') end end -- Recreate param table, parsing flags as instructions for x, w in ipairs(self.params[v].params) do local xarg -- By default or defined as 'd' -- looks for the cleaned value of the named parameter first -- if it doesn't exist, look at the passed value next -- if that doesn't exist, look at the default -- if that doesn't exist, use blank if flag[x] == 'd' then if self.rargs[w] then if self.rargs[w].switches then xarg = self.rargs[w].switches[i] else xarg = self.args[w..i] end if xarg == nil or xarg == nil_param then xarg = self.rargs[w].d end end -- multiple catches in a row just to cover everything if xarg == nil or xarg == nil_param then xarg = self.args[w..i] end if xarg == nil or xarg == edit or xarg == nil_param then xarg = self.args[w] end if xarg == nil or xarg == edit or xarg == nil_param then xarg = '' end -- Look only at the passed value of the named parameter -- if that doesn't exist, use unnumbered parameter -- if that doesn't exist, use blank elseif flag[x] == 'p' then xarg = self.args[w..i] or self.args[w] or '' -- Don't interpret value as a parameter name, and paste the as is elseif flag[x] == 'r' then xarg = w end -- Add parsed argument to table table.insert(func_args,xarg) end -- Run function _addarg = func(unpack(func_args)) end end -- If not defined, add the nil_param value -- An actual nil would cause errors in placement -- So it needs to be filled with an actual value -- "nil_param" is understood as nil in other functions -- Include table in case parameter isn't defined by template if _addarg == nil or _addarg == nil_param then table.insert(_add_switch, nil_param) else switches = switches + 1 table.insert(_add_switch, _addarg) catdata.one_defined = true end end -- If there are actually other values to switch to -- Define a switches subtable, otherwise ignore it if switches > 0 then _add.switches = _add_switch end end -- Quick fix for names (which defaults to pagename) if v == 'name' then if _add.d == pagename then if _add.switches and _add.switches[1] ~= pagename and _add.switches[1] ~= nil_param then _add.d = _add.switches[1] end end end -- Parameter cleaning finished, add to table of cleaned args self.rargs[v] = _add -- Category metadata -- If every param except default is defined, all_defined = true if catdata.all_defined == false then if _add.d == edit then if _add.switches then catdata.all_defined = true for _, v in ipairs(_add.switches) do if v == nil_param then catdata.all_defined = false break end end end end end self.catdata[v] = catdata end -- mass dupe removal -- this needs to be done at the end to keep dependent parameters working -- also removes incompatible data types for _, v in ipairs(self.paramnames) do -- not removed from dupe enabled params parameters if not self.dupeable[v] and self.rargs[v] and self.rargs[v].switches then -- tells us whether or not we'll need to remove the switch data -- switched to false if a switch values does not match the default local rmvswitch = true for q, z in ipairs(self.rargs[v].switches) do -- remove types that don't turn into strings properly if type(z) == 'table' or type(z) == 'function' then self.rargs[v].switches[q] = nil_param -- if it isn't nil or an edit button -- change variable to keep the switch data elseif z ~= nil_param and z ~= edit then rmvswitch = false end end -- remove switch data if everything was a dupe if rmvswitch then self.rargs[v].switches = nil end end end -- Title parentheses (has to be done here, sadly) local _name if self.rargs.name then _name = self.rargs.name.d -- replace html entities to their actual character _name = mw.text.decode(_name) -- if the page name matches the item name, don't add parentheses if _name == mw.title.getCurrentTitle().fullText then self.rtable:addClass('no-parenthesis-style') end end end --[[ Function to link internal use parameters with JS class attribution -- self:linkParams{ { arg1, arg2 }, ... { arg1a, arg2a } } -- arg1: parameter name being linked -- arg2: parameter name that holds the classes -- THIS FUNCTION SHOULD BE RUN AFTER :cleanParams() -- THIS FUNCTION SHOULD BE RUN BEFORE :finish() -- The second argument's data should always contain a value (a CSS class name) at every index -- This function is cancelled for non switch boxes --]] function Infobox:linkParams(...) if not self.switchfo then return end for _, v in ipairs(...) do self.switchfoattr[v[1]] = self.rargs[v[2]] end end --[==========================================[ -- Functions for accessing parameters easily --]==========================================] --[[ Access the param -- arg : param name -- retp : return type d | #default : self.rargs[arg].d -- Default value f | full : self.rargs[arg] -- Entire table s | switches : self.rargs[arg].switches -- Entire switch table s# : self.rargs[arg].switches[#] -- Single switch value at index # r : switches[1] or d --]] function Infobox:param(arg, retp) -- All parameters if arg == 'all' then return self.rargs end -- case-insensitive flagging retp = tostring(retp):lower() local fmap = { d = 'd', default = 'd', s0 = 'd', -- let s-naught count as default (since that's what it is) f = 'f', full = 'f', s = 's', switch = 's', switches = 's', r = 'r' } local ret_func -- quickly see if the parameter is a value greater than 0 if retp:match('s[1-9]') then ret_func = 's2' else -- Otherwise map it to the correct flag, or the default ret_func = fmap[retp] or fmap.d end -- Fetch parameter local param = self.rargs[arg] -- Return nil if no table found if not param then return nil end -- Return default if ret_func == 'd' then return param.d end -- Return full table if ret_func == 'f' then return param end -- Return switch table if ret_func == 's' then return param.switches end -- Return the first switch, otherwise the default if ret_func == 'r' then if not param.switches then return param.d elseif param.switches[1] == nil_param then return param.d else return param.switches[1] end end -- If s2, reread the param if ret_func == 's2' then -- no switches if not param.switches then return nil end -- Parse index by removing the s local index = retp:match('s(%d+)') -- nil_param if param.switches[index] == nil_param then return nil else return param.switches[index] end end end --[[ Checks if a parameter is defined and not blank -- arg : parameter to look at -- index : index of switches to look at (defaults to default param) -- defining 'all' will look at every possible value for the parameter --]] function Infobox:paramDefined(arg,index) -- Can use cleaned params for switches -- but need the passed to identify blanks in the template local param = self.rargs[arg] local _arg = self.args[arg] if string.find(_arg or '','%?action=edit') then _arg = '' end index = index or 0 local ret -- create a long strong of every value to test for things if 'all' if string.lower(index) == 'all' then return self.catdata[arg] and (self.catdata[arg].one_defined or self.catdata[arg].all_defined) -- index to number otherwise else index = tonumber(index) or 0 if index == 0 then if param.switches then if Infobox.isDefined(param.switches[1]) then ret = param.switches[1] else ret = _arg end else ret = _arg end else if not param.switches then return nil end if param.switches[index] == nil_param then return nil end ret = param.switches[index] end end return tostring(ret or ''):find('%S') end --[[ Function to perform a search on all parameters of a defined name -- param: param name -- val: a value or function -- functions passed must return either true or false -- with true being counted as a match --]] function Infobox:paramGrep(param,val) local arg = self.rargs[param] -- if no parameters, return nil if not arg then return nil end local ret local valtype = type(val) -- start with the default value -- if it's a function, run it if valtype == 'function' then ret = val(arg.d) -- true means it matched if ret == true then return ret end -- switches up here for functions if arg.switches then for _, v in ipairs(arg.switches) do ret = val(v) if ret == true then return true end end end -- if it's just a value, compare the two -- only run if types match to avoid errors -- compare switches later elseif valtype == type(arg.d) then -- if a string, make case insensitive if valtype == 'string' then if string.lower(val) == string.lower(arg.d) then return true end -- everything else just test directly elseif val == arg.d then return true end end -- switch cases -- more organized putting them here if arg.switches then for _, v in ipairs(arg.switches) do if valtype == type(v) then if valtype == 'string' then if val:lower() == v:lower() then return true end elseif val == v then return true end end end end -- return false in every other case return false end ------ function Infobox.paramRead(arg,val) -- if no parameters, return nil if not arg then return nil end local ret local valtype = type(val) -- start with the default value -- if it's a function, run it if valtype == 'function' then ret = val(arg.d) -- true means it matched if ret == true then return ret end -- switches up here for functions if arg.switches then for _, v in ipairs(arg.switches) do ret = val(v) if ret == true then return true end end end -- if it's just a value, compare the two -- only run if types match to avoid errors -- compare switches later elseif valtype == type(arg.d) then -- if a string, make case insensitive if valtype == 'string' then if string.lower(val) == string.lower(arg.d) then return true end -- everything else just test directly elseif val == arg.d then return true end end -- switch cases -- more organized putting them here if arg.switches then for _, v in ipairs(arg.switches) do if valtype == type(v) then if valtype == 'string' then if val:lower() == v:lower() then return true end elseif val == v then return true end end end end -- return false in every other case return false end ---- -- Return collected category data function Infobox:categoryData() return self.catdata end -- Override tostring function Infobox.tostring(box) -- If not finished, finish if not box.__finished then box:finish() end -- Make entire html wrapper a string and return it local btns = box.switch_buttons_tag if box.custom_buttons then btns = '' end if box.args.__dump__ then return '<' .. 'pre>'..mw.dumpObject(box) .. '</' .. 'pre>[[Category:Dumping infoboxes]]' end return tostring(btns) .. tostring(box.rtable) .. table.concat(box.appendStrs, '') .. tostring(box.switch_tag) .. tostring(box.smw_error_tag) end return Infobox -- </nowiki> 0c41143774de0a6cae60158df6f021431fb9b5c1 Brighter Shores:Policies 4 470 803 2024-03-23T02:10:22Z Jayden 3 Created page with "To ensure that people can contribute in good faith to the wiki, the Brighter Shores Wiki has several easy-to-follow policies. These are general modelled on similar wikis of this nature, including Wikipedia. The key to maintaining a successful wiki is by making decisions through [[wikipedia:Wikipedia:Consensus|consensus]], which is what we aim to do at all times. ==Community policies== * '''Ownership''': Users do not own the pages and files they edit or create. They exis..." wikitext text/x-wiki To ensure that people can contribute in good faith to the wiki, the Brighter Shores Wiki has several easy-to-follow policies. These are general modelled on similar wikis of this nature, including Wikipedia. The key to maintaining a successful wiki is by making decisions through [[wikipedia:Wikipedia:Consensus|consensus]], which is what we aim to do at all times. ==Community policies== * '''Ownership''': Users do not own the pages and files they edit or create. They exist to better the wiki in some shape or form. * '''Protection''' – Unless there are reasonable grounds for protecting one, pages should remain fully editable by users to ensure wide collaboration is possible. * '''Status and opinion-weight''' – An editor should not be treated differently or have any extra weight on their opinions based on their experience or status. * '''Three-revert rule''' – Explain the changes you make in the edit summary. Rather than engaging in a revert war with another user, discuss it in the talk page. * '''Use common sense''' – Common sense takes precedence over any policy. Be reasonable. ==Content policies== * '''Granularity''' – Anything notable, excluding players, may have its own article. * '''Neutral point of view''' – Pages on the wiki should always be written from a neutral point of view. * '''Spoilers''' – Articles may contain content that spoils some of the game. There are no warnings on the wiki, so viewers should read at their own risk. * '''Assume good faith''' – Always assume that an editor's actions were an attempt to improve the wiki. * '''Don't delete discussions''' – Don't delete previous discussions. These include user talk pages. * '''Don't edit userpages''' – There's no reason to edit another user's pages under most circumstances. * '''Blocking users''' – Disruptive users can be blocked from editing by administrators. Blocked users can still read all pages, but can't edit any page except their user talk page. * '''Treating other users with respect''' – Be nice and don't try to cause unnecessary strife. af71abdf10e587590e9a3fe1730208110af094b8 806 803 2024-03-23T02:15:05Z Jayden 3 wikitext text/x-wiki To ensure that people can contribute in good faith to the wiki, the Brighter Shores Wiki has several easy-to-follow policies. These are generally modelled on similar wikis of this nature, including Wikipedia. The key to maintaining a successful wiki is by making decisions through [[wikipedia:Wikipedia:Consensus|consensus]], which is what we aim to do at all times. ==Community policies== * '''Ownership''': Users do not own the pages and files they edit or create. They exist to better the wiki in some shape or form. * '''Protection''' – Unless there are reasonable grounds for protecting one, pages should remain fully editable by users to ensure wide collaboration is possible. * '''Status and opinion-weight''' – An editor should not be treated differently or have any extra weight on their opinions based on their experience or status. * '''Three-revert rule''' – Explain the changes you make in the edit summary. Rather than engaging in a revert war with another user, discuss it in the talk page. * '''Use common sense''' – Common sense takes precedence over any policy. Be reasonable. ==Content policies== * '''Granularity''' – Anything notable, excluding players, may have its own article. * '''Neutral point of view''' – Pages on the wiki should always be written from a neutral point of view. * '''Spoilers''' – Articles may contain content that spoils some of the game. There are no warnings on the wiki, so viewers should read at their own risk. * '''Assume good faith''' – Always assume that an editor's actions were an attempt to improve the wiki. * '''Don't delete discussions''' – Don't delete previous discussions. These include user talk pages. * '''Don't edit userpages''' – There's no reason to edit another user's pages under most circumstances. * '''Blocking users''' – Disruptive users can be blocked from editing by administrators. Blocked users can still read all pages, but can't edit any page except their user talk page. * '''Treating other users with respect''' – Be nice and don't try to cause unnecessary strife. bc2c432b0604c9968ee881d102396893c4c6a5f1 822 806 2024-03-23T02:34:00Z Jayden 3 Protected "[[Brighter Shores:Policies]]": Policy page ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)) wikitext text/x-wiki To ensure that people can contribute in good faith to the wiki, the Brighter Shores Wiki has several easy-to-follow policies. These are generally modelled on similar wikis of this nature, including Wikipedia. The key to maintaining a successful wiki is by making decisions through [[wikipedia:Wikipedia:Consensus|consensus]], which is what we aim to do at all times. ==Community policies== * '''Ownership''': Users do not own the pages and files they edit or create. They exist to better the wiki in some shape or form. * '''Protection''' – Unless there are reasonable grounds for protecting one, pages should remain fully editable by users to ensure wide collaboration is possible. * '''Status and opinion-weight''' – An editor should not be treated differently or have any extra weight on their opinions based on their experience or status. * '''Three-revert rule''' – Explain the changes you make in the edit summary. Rather than engaging in a revert war with another user, discuss it in the talk page. * '''Use common sense''' – Common sense takes precedence over any policy. Be reasonable. ==Content policies== * '''Granularity''' – Anything notable, excluding players, may have its own article. * '''Neutral point of view''' – Pages on the wiki should always be written from a neutral point of view. * '''Spoilers''' – Articles may contain content that spoils some of the game. There are no warnings on the wiki, so viewers should read at their own risk. * '''Assume good faith''' – Always assume that an editor's actions were an attempt to improve the wiki. * '''Don't delete discussions''' – Don't delete previous discussions. These include user talk pages. * '''Don't edit userpages''' – There's no reason to edit another user's pages under most circumstances. * '''Blocking users''' – Disruptive users can be blocked from editing by administrators. Blocked users can still read all pages, but can't edit any page except their user talk page. * '''Treating other users with respect''' – Be nice and don't try to cause unnecessary strife. bc2c432b0604c9968ee881d102396893c4c6a5f1 MediaWiki:Sidebar 8 57 804 384 2024-03-23T02:12:40Z Jayden 3 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** randompage-url|randompage * Recent changes * Brighter Shores ** Professions ** Factions ** Locations ** Premium Pass ** Monsters * Community ** Policies * SEARCH * TOOLBOX * LANGUAGES 52b661945c6b099d5e92c7330dad57ab2aff0c53 805 804 2024-03-23T02:14:40Z Jayden 3 whoops wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** randompage-url|randompage * Recent changes * Brighter Shores ** Professions|Professions ** Factions|Factions ** Locations|Locations ** Premium Pass|Premium Pass ** Monsters|Monsters * Community ** Brighter Shores:Policies|Policies * SEARCH * TOOLBOX * LANGUAGES cfff06bd28c9749c604c7ecffd314f306bff8b4c MediaWiki:Vector.less/rcsidebar.less 8 471 807 2024-03-23T02:16:01Z Jayden 3 Created page with "/* =================== Recent changes widget =================== */ #p-Recent_changes { display: block; .vector-menu-content { display: none; } .vector-menu-heading:after { // Green "live" dot content: ''; position: relative; left: .5em; display: inline-block; background-color: saturate(@la-palma, 4%); width: 6px; height: 6px; border-radius: 100%; } .rc-sidebar-item { position: relative; font-size: 0.75em; margin: .5em .25em..." less less /* =================== Recent changes widget =================== */ #p-Recent_changes { display: block; .vector-menu-content { display: none; } .vector-menu-heading:after { // Green "live" dot content: ''; position: relative; left: .5em; display: inline-block; background-color: saturate(@la-palma, 4%); width: 6px; height: 6px; border-radius: 100%; } .rc-sidebar-item { position: relative; font-size: 0.75em; margin: .5em .25em 0 .66em; /* what is this for &::before { position: absolute; left: -0.75em; top: .5em; background-color: #327ba7; width: 4px; height: 4px; border-radius: 100%; } */ } .rc-sidebar-page { display: block; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; max-width: max-content; &, &:active, &:visited { color: var(--background-link-color); } } .rc-sidebar-user { color: var(--byline-color); margin: 0; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; a { color: inherit; } } .rc-sidebar-more { text-align: left; .rc-sidebar-page { display: inline-block; } } } 5afdcfab4befc126e97c93133ebb0826b4839099 MediaWiki:Vector.less 8 31 808 484 2024-03-23T02:16:17Z Jayden 3 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Vector.css]]. * * These styles will be applied to the Vector skin (desktop). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ @common: 'MediaWiki:Common.less'; @dir: 'MediaWiki:Vector.less'; // ===== Imports ===== @import '@{common}/mixins.less'; @import '@{common}/variables.less'; @import '@{dir}/elements.less'; // Vector interface files @import '@{dir}/vectormenu.less'; @import '@{dir}/vectorsearch.less'; @import '@{dir}/vectorsidebar.less'; @import '@{dir}/vectortabs.less'; // Sidebar (rc widget) @import '@{dir}/rcsidebar.less'; // Image thumbnails @import '@{dir}/thumb.less'; // Table of Contents @import '@{dir}/toc.less'; // anything else that doesn't go into above files @import '@{dir}/interface.less'; // Editor interface @import '@{dir}/sourceeditor.less'; @import '@{dir}/editor.less'; // Templates @import '@{dir}/keypress.less'; @import '@{dir}/navbox.less'; // Misc @import '@{dir}/echo.less'; // ===== Miscellaneous ===== // moved from [[MediaWiki:Common.less/tabber.less]] // because it caused them to go off-screen on mobile .tabber { display: inline-grid; } 4f2b1c28b5c0463857eddf7bf4553e01e425576b MediaWiki:Vector.css 8 43 809 487 2024-03-23T02:16:22Z Jayden 3 Updating CSS from [[MediaWiki:Vector.less]] css text/css /* <pre> */ :root { --ul-list-style-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='13'%3E%3Ccircle cx='2.5' cy='9' r='2.5' fill='%23000'/%3E%3C/svg%3E"); } html { -webkit-text-size-adjust: 100%; } body { background: var(--body-background-image) var(--body-background-color) top left / 1500px 375px no-repeat; font-family: 'Helvetica Neue', 'Arial', sans-serif; } .vector-body { font-size: 0.9em; } #firstHeading { font-weight: bold; } pre, code, .mw-code { color: inherit; background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } dl { margin: 0; } ul { list-style-image: var(--ul-list-style-image); } hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } fieldset { border-color: var(--sidebar); } .vector-body blockquote { border-color: var(--body-mid); } :root { --personal-links-bg: var(--body-main); --arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M11.05 3.996l-.965-1.053-4.035 3.86-3.947-3.86L1.05 3.996l5 5 5-5' fill='%23444'/%3E%3C/svg%3E"); } .vector-menu-dropdown .vector-menu-heading { background-color: var(--vector-tab-background); padding: 1em 0.75em 0.6923em; margin: 0; } .vector-menu-dropdown .vector-menu-heading, .vector-menu-dropdown .vector-menu-heading:hover, .vector-menu-dropdown .vector-menu-heading:focus { color: var(--background-text-color); } .vector-menu-dropdown .vector-menu-heading:after { background-image: var(--arrow-down); opacity: 1; } .vector-menu-dropdown .vector-menu-content { border-color: transparent; background-color: var(--body-light); box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.1); left: 0; } .vector-menu-dropdown .mw-list-item a { color: var(--link-color); } .vector-menu-dropdown .mw-list-item.selected a, .vector-menu-dropdown .mw-list-item.selected a:visited { color: var(--text-color); } #p-personal { background: var(--personal-links-bg); top: 0; right: 0; border-radius: 0 0 0 4px; height: 1.875em; } #p-personal ul { padding: 0 1em 0 0.4375em; } .vector-search-box-inner { background: var(--search-box); height: 2.5em; margin-top: 0; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } .vector-search-box-input { color: var(--text-color); height: 100%; border: none; background: none; padding-left: 0.75em; } .vector-search-box-input::placeholder { color: var(--text-color); opacity: 0.67; } .vector-search-box-inner:hover .vector-search-box-input, .vector-search-box-input:focus, .vector-search-box-inner:hover .vector-search-box-input:focus { border: none; box-shadow: none; } :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='13'%3E%3Cg fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M11.29 11.71l-4-4'/%3E%3Ccircle cx='5' cy='5' r='4'/%3E%3C/g%3E%3C/svg%3E"); } .searchButton[name='go'] { background: no-repeat center var(--searchbutton-icon); } .vector-search-box { margin: 0; } .vector-search-box form { margin-top: 0; } .suggestions-results { background-color: var(--body-light); border-color: var(--body-border); } .suggestions-result { color: var(--text-color); } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--text-color); } .suggestions-special { background-color: var(--body-light); border-color: var(--body-border); } .suggestions-special .special-label { color: var(--byline-color); } .suggestions-special .special-query { color: var(--text-color); } .suggestions-result-current { background-color: var(--body-mid); color: var(--text-color); } .suggestions-result-current .special-label, .suggestions-result-current .special-query { color: var(--text-color); } #mw-panel { padding-top: 2.5em; } .vector-menu-portal .vector-menu-heading { color: var(--background-text-color); font-weight: bold; background: none; } .vector-menu-portal .vector-menu-content li a, .vector-menu-portal .vector-menu-content li a:visited { color: var(--background-link-color); } #p-logo { filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.25)); margin: -1.5em 0 0; } #n-Discord a { color: #fff !important; font-weight: bold; border-radius: 4px; border: 1px solid #4c57d0; background-color: #5865f2; display: block; position: relative; padding: 4px 4px 5px calc(17px + 6.5px * 2); box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); transition: 0.2s; } #n-Discord a::before { content: 'Chat on '; font-weight: normal; opacity: 0.85; } #n-Discord a::after { content: ''; background: url('filepath://Discord_logo_icon.svg') no-repeat; background-size: 17px 13px; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1)); position: absolute; top: 5px; left: 7px; width: 17px; height: 13px; } #n-Discord a:hover { text-decoration: none; background-color: #525ee0; } .wgl-theme-dark #n-Discord a { background-color: #525ee0; } .wgl-theme-dark #n-Discord a:hover { background-color: #4c57d0; } :root { --vector-tab-background: #f0f0f0; --vector-tab-background--hover: var(--body-mid); --vector-tab-link-color: #937040; --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%2352351e' stroke='%2352351e' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E"); } .vector-menu-tabs-legacy { padding: 0; } .vector-menu-tabs-legacy .new a, .vector-menu-tabs-legacy .new a:visited { color: var(--redlink-color); } .vector-menu-tabs-legacy .selected { background: var(--body-main); } .vector-menu-tabs-legacy .selected a, .vector-menu-tabs-legacy .selected a:visited { color: var(--text-color); } .vector-menu-tabs-legacy li a { color: var(--vector-tab-link-color); padding: 0 0.75em; padding-top: 1em; } .vector-menu-tabs-legacy li a:visited { color: var(--vector-tab-link-color); } .vector-menu-tabs-legacy ul li { background: var(--vector-tab-background); } .vector-menu-tabs-legacy ul a:hover { text-decoration: none; } #ca-view { display: none !important; } .vector-menu-tabs ul li:not(.selected):hover, #p-cactions:hover #p-cactions-label { background: var(--vector-tab-background--hover); } .vector-menu-tabs ul li:not(.selected), #mw-head .vector-menu-dropdown .vector-menu-heading { box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } .ve-activated .vector-menu-tabs .selected { box-shadow: none; } .vector-menu-tabs #ca-watch.icon a:before, .vector-menu-tabs #ca-watch.icon a:hover:before, .vector-menu-tabs #ca-watch.icon a:focus:before { background-image: var(--watch-icon); } .vector-menu-tabs #ca-unwatch.icon a:before, .vector-menu-tabs #ca-unwatch.icon a:hover:before, .vector-menu-tabs #ca-unwatch.icon a:focus:before { background-image: var(--unwatch-icon); } #p-Recent_changes { display: block; } #p-Recent_changes .vector-menu-content { display: none; } #p-Recent_changes .vector-menu-heading:after { content: ''; position: relative; left: 0.5em; display: inline-block; background-color: #3c7b07; width: 6px; height: 6px; border-radius: 100%; } #p-Recent_changes .rc-sidebar-item { position: relative; font-size: 0.75em; margin: 0.5em 0.25em 0 0.66em; } #p-Recent_changes .rc-sidebar-page { display: block; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; max-width: max-content; } #p-Recent_changes .rc-sidebar-page, #p-Recent_changes .rc-sidebar-page:active, #p-Recent_changes .rc-sidebar-page:visited { color: var(--background-link-color); } #p-Recent_changes .rc-sidebar-user { color: var(--byline-color); margin: 0; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } #p-Recent_changes .rc-sidebar-user a { color: inherit; } #p-Recent_changes .rc-sidebar-more { text-align: left; } #p-Recent_changes .rc-sidebar-more .rc-sidebar-page { display: inline-block; } div.thumbinner { border: none; background-color: var(--thumb-bg); padding: 0; } .thumbimage { background-color: transparent; border-color: transparent; border-bottom: none; } .thumbcaption { background: var(--thumb-caption-bg); padding: 4px 6px; } :root { --toc-bg: var(--body-light); --toc-title-bg: var(--body-dark); --toc-border-color: var(--body-border); --toc-list-border-color: var(--body-border); } .toc { font-size: 0.9em; background: var(--toc-bg); margin-top: 1em; padding: 0; border-color: var(--toc-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); clear: left; } .toc .toctitle { background: var(--toc-title-bg); padding: 0.25em 1em; } .toc .toctitle h2 { font-family: inherit; } .toc > ul { line-height: 1.8em; padding: 0.75em 1.75em; margin: 0; } .toc ul ul { border-left: 1px dotted var(--toc-list-border-color); padding-left: 0.5em; } .tocnumber { display: none; } .toctogglespan { padding-left: 0.2em; font-size: 0.9em; } .toctogglelabel { color: var(--link-color); } .toclimit-2 #toc .toclevel-2, .toclimit-3 #toc .toclevel-3, .toclimit-4 #toc .toclevel-4, .toclimit-5 #toc .toclevel-5, .toclimit-6 #toc .toclevel-6, .toclimit-7 #toc .toclevel-7 { display: none; } :root { --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23936039' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } .mw-parser-output a.external { background-image: var(--external-icon); background-size: 0.833em; } .mw-editsection { font-family: 'Helvetica Neue', 'Arial', sans-serif; } .client-js .mw-content-ltr .mw-editsection-bracket:first-of-type, .client-js .mw-content-ltr .mw-editsection-bracket:not(:first-of-type), .mw-editsection-divider { color: var(--text-color); } #contentSub, #contentSub2 { color: var(--byline-color); margin: 0; } #contentSub:not(:empty), #contentSub2:not(:empty) { margin: 0 0 1.4em 0; } .mw-collapsible.mw-collapsed { min-width: 250px; } .mw-collapsible:not( .mw-made-collapsible) th::before, .mw-collapsible .mw-collapsible-toggle { font-weight: normal; margin-left: 0.2em; } .wikiEditor-ui .wikiEditor-ui-view, .wikiEditor-ui .wikiEditor-ui-top { border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar { background-color: var(--sourceeditor-background); } .wikiEditor-ui-toolbar .tabs span.tab > a, .wikiEditor-ui-toolbar .tabs span.tab > a:visited { color: var(--link-color); } .wikiEditor-ui-toolbar .tabs span.tab a.current, .wikiEditor-ui-toolbar .tabs span.tab a.current:visited { color: var(--text-colour); } .wikiEditor-ui-toolbar .group { border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar .group .tool-select { background-color: var(--sourceeditor-background); border-color: var(--sourceeditor-border); } .wikiEditor-ui-toolbar .group .tool-select .options { border-color: var(--sourceeditor-border); background-color: var(--body-main); } .wikiEditor-ui-toolbar .group .tool-select .options .option { color: var(--link-color); } .wikiEditor-ui-toolbar .group .tool-select .menu .options .option:hover { background-color: var(--ooui-normal--hover); } .wikiEditor-ui-toolbar .group-search { border-left-color: var(--body-mid); } .wikiEditor-ui-toolbar .page-table td { border-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .page-table th { color: var(--text-color); } .wikiEditor-ui-toolbar .sections .section { border-color: var(--body-mid); } .wikiEditor-ui-toolbar .sections .toolbar .group > .label { color: var(--text-color); } .wikiEditor-ui-toolbar .sections .toolbar .tool > .label { color: var(--text-color); } .wikiEditor-ui-toolbar .booklet > .index > :hover { background-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .booklet .index > .current { background-color: var(--body-mid); color: var(--link-color); } .wikiEditor-ui-toolbar .page-characters div span { border-color: var(--body-mid); color: var(--text-color); } .wikiEditor-ui-toolbar .page-characters div span:hover { border-color: var(--body-dark); background-color: transparent; } .wikiEditor-ui-toolbar .tabs span.tab a:before, .wikiEditor-ui-toolbar .group .tool-select .label:after { background: var(--text-color); -webkit-mask: var(--arrow-down) center no-repeat; mask: var(--arrow-down) center no-repeat; } .ace-tm { background-color: var(--sourceeditor-input-background); color: var(--text-color); } .ace-tm .ace_gutter { background: var(--body-mid); color: var(--text-color); } .ace-tm .ace_gutter-cell { color: var(--text-color); } .ace-tm .ace_gutter-active-line { background-color: var(--body-light); } .ace_search { background-color: var(--body-light); color: var(--text-color); border-color: var(--body-mid); } .ace_search_field { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .ace_searchbtn { border-color: var(--ooui-normal-border); background-color: var(--ooui-normal); color: var(--ooui-text); } .ace_searchbtn:last-child { border-color: var(--ooui-normal-border); } .ace_searchbtn:hover { background-color: var(--ooui-normal--hover); } .ace_searchbtn.prev:after, .ace_searchbtn.next:after { border-color: var(--ooui-text); } .ace_button { color: var(--text-color); } .ace_button:hover { background-color: rgba(0, 23, 70, 0.086); } .ace_button:active { background-color: rgba(0, 23, 70, 0.06); } .ace_button.checked { border-color: var(--ooui-accent); } .CodeMirror { background: var(--sourceeditor-input-background); } .CodeMirror pre { color: var(--text-color); } .codeEditor-status { border-color: var(--sourceeditor-border); background-color: var(--sourceeditor-background); } .codeEditor-status-message { border-color: var(--sourceeditor-border); } .CodeMirror-gutters { background-color: var(--codemirror-gutter-background); border-color: var(--sourceeditor-border); } .CodeMirror-linenumber { color: var(--text-color); } .ve-init-mw-desktopArticleTarget .CodeMirror-linenumber { color: var(--byline-color); } .mw-editform #wpTextbox1 { color: var(--text-color); background: var(--sourceeditor-input-background); border-color: var(--sourceeditor-border); } input[name="model"][value="Scribunto"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="css"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="less"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="javascript"] ~ .wikiEditor-ui #wpTextbox1, input[name="model"][value="json"] ~ .wikiEditor-ui #wpTextbox1 { height: 600px; } .tdg-templateDataDialog-listParamsPanel textarea.oo-ui-textInputWidget-autosized { resize: vertical; } #wpAceFilterEditor { resize: horizontal; } .warn-userupload, .ns-2 .upload-own-work { display: none; } .ns-2 .warn-userupload { display: inline; } textarea[name="wfUploadDescription"] { height: 3em; } #editform { margin-top: 1.25em; } #mw-scribunto-input, #mw-scribunto-output { padding: 3px; font-family: monospace; font-size: 13px; line-height: 1.5em; } #mw-scribunto-input { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } :root { --scribuntoconsole-input: #0b5884; --scibuntoconsole-print: #a48900; --scribuntoconsole-error: #9f261e; --scribuntoconsole-message: #3c780a; --scribuntoconsole-tabcomplete: #4f348b; --scribuntoconsole-clear: #9f261e; } .mw-scribunto-console-fieldset { color: inherit; background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-scribunto-normalOutput, .mw-scribunto-print, .mw-scribunto-error, .mw-scribunto-propList, .mw-scribunto-message, .mw-scribunto-tabcomplete { background: none; } .mw-scribunto-input { color: var(--scribuntoconsole-input); } .mw-scribunto-normalOutput { color: inherit; } .mw-scribunto-print { color: var(--scibuntoconsole-print); } .mw-scribunto-error { color: var(--scribuntoconsole-error); } .mw-scribunto-propList, .mw-scribunto-message { color: var(--scribuntoconsole-message); } .mw-scribunto-tabcomplete { color: var(--scribuntoconsole-tabcomplete); } .mw-scribunto-clear { color: var(--scribuntoconsole-clear); border-bottom-color: var(--scribuntoconsole-clear); } .keypress { background: #eee; color: #333; font-family: monospace; text-shadow: 0 1px 0 #fff; border: 1px solid #ccc; border-radius: 3px; margin: 0 0.1em; padding: 0.1em 0.5em; line-height: 1.4; white-space: nowrap; display: inline-block; } :root { --navbox-background: var(--body-light); --navbox-border: var(--body-dark); --navbox-title-background: var(--body-dark); --navbox-footer-background: var(--body-dark); --navbox-group-title-background: var(--body-mid); } .navbox { font-size: 0.85em; background: var(--navbox-background); border-collapse: collapse; margin: 1em auto 0; width: 100%; clear: both; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { .navbox img { image-rendering: pixelated; image-rendering: crisp-edges; } } .navbox .navbox { font-size: 100%; margin: 0.5em auto 0; box-shadow: none; } .navbox-title { font-size: 110%; line-height: 1.6em; background: var(--navbox-title-background); text-align: center; padding: 0.25em 1em; } .navbox-title-name { margin: 0 4em; } .navbox-title .mw-collapsible-toggle { font-size: 0.9em; text-align: right; } .navbox-title .navbox { font-size: 100%; } .navbox-group:nth-child(2) { border-top: 1px solid var(--navbox-border); } .navbox-group-title { background: var(--navbox-group-title-background); border: 1px solid var(--navbox-border); border-width: 0 1px 1px 0; text-align: left; padding: 0.25em 1em; width: 1%; white-space: nowrap; } .navbox-list { border-bottom: 1px solid var(--navbox-border); padding: 0.25em 0.5em; } .navbox-list ul { margin: 0; } .navbox-list li { display: inline; white-space: nowrap; } .navbox-list li + li::before { content: '• '; } .navbox-parent { padding: 0; } .navbox-subgroup { border-collapse: collapse; border-spacing: 0; width: 100%; } .navbox-subgroup > tbody > tr:last-child > th, .navbox-subgroup > tbody > tr:last-child > td { border-bottom: none; } .navbox-footer { background: var(--navbox-footer-background); text-align: center; padding: 0.25em 1em; } .navbox-data { display: none; } :root { --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%234c4c4c' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%234c4c4c' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --echo-icon-bell-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Ebell%3C/title%3E%3Cpath d=%22M16 7a5.38 5.38 0 00-4.46-4.85C11.6 1.46 11.53 0 10 0S8.4 1.46 8.46 2.15A5.38 5.38 0 004 7v6l-2 2v1h16v-1l-2-2zm-6 13a3 3 0 003-3H7a3 3 0 003 3z%22 fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-tray-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Etray%3C/title%3E%3Cpath d=%22M3 1a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2V3a2 2 0 00-2-2zm14 12h-4l-1 2H8l-1-2H3V3h14z%22 fill='%234c4c4c'/%3E%3C/svg%3E"); --echo-icon-fullscreen-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E fullscreen %3C/title%3E%3Cg fill='%234c4c4c'%3E%3Cpath d='M1 1v6h2V3h4V1zm2 12H1v6h6v-2H3zm14 4h-4v2h6v-6h-2zm0-16h-4v2h4v4h2V1z'/%3E%3C/g%3E%3Cscript xmlns=''/%3E%3C/svg%3E"); --echo-icon-exitFullscreen-bg-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E exit fullscreen %3C/title%3E%3Cg fill='%234c4c4c'%3E%3Cpath d='M7 7V1H5v4H1v2zM5 19h2v-6H1v2h4zm10-4h4v-2h-6v6h2zm0-8h4V5h-4V1h-2v6z'/%3E%3C/g%3E%3Cscript xmlns=''/%3E%3C/svg%3E"); } .vector-user-menu-legacy #pt-userpage a, .vector-user-menu-legacy #pt-anonuserpage { background-image: var(--echo-icon-person-bg-image); padding-top: 0; background-position-y: 0; } .vector-user-menu-legacy #pt-anonuserpage { color: var(--byline-color); } #pt-notifications-alert .mw-echo-notifications-badge, #pt-notifications-notice .mw-echo-notifications-badge { background-size: 75%; background-position: center 80%; background-repeat: no-repeat; opacity: unset; } #pt-notifications-alert .mw-echo-notifications-badge.mw-echo-notifications-badge-all-read, #pt-notifications-notice .mw-echo-notifications-badge.mw-echo-notifications-badge-all-read { opacity: unset; } #pt-notifications-alert .oo-ui-icon-bell { background-image: var(--echo-icon-bell-bg-image); } #pt-notifications-notice .oo-ui-icon-tray { background-image: var(--echo-icon-tray-bg-image); } #pt-fixed-width .oo-ui-icon-advanced { background-image: var(--echo-icon-exitFullscreen-bg-image); } body.wgl-fixedWidth #pt-fixed-width .oo-ui-icon-advanced { background-image: var(--echo-icon-fullscreen-bg-image); } #pt-theme-toggles .oo-ui-icon-advanced { background-image: var(--echo-icon-moon-bg-image); } #pt-anontalk { padding-top: 0.6em; } .tabber { display: inline-grid; } 3e0f99d79b341cd28bd674850ecdf4a1c5971188 MediaWiki:Common.less 8 5 810 508 2024-03-23T02:18:20Z Jayden 3 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: @black; --byline-color: @silver; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/documentation.less'; // [[Template:Documentation]] @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> @import '@{common}/messagebox.less'; // Messagebox templates // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 42f19161b3f167db978009d922eb8b68ab7b81e8 MediaWiki:Common.css 8 30 811 650 2024-03-23T02:18:26Z Jayden 3 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.75em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.75em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } b81756cbe3233908723e3f91e4d173e336fbbb00 File:Cryoknight icon.svg 6 472 812 2024-03-23T02:20:33Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Hammermage icon.svg 6 473 813 2024-03-23T02:20:57Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Guardian icon.svg 6 474 814 2024-03-23T02:21:07Z Jayden 3 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Cryoknight 0 69 815 700 2024-03-23T02:22:15Z Jayden 3 wikitext text/x-wiki '''Cryoknight''' ([[File:Cryoknight icon.svg|18px]]) is a [[faction]] which specialises in using melee weapons in [[combat]]. {{Classes}} 76257178f9db6a770bd5b6fdbecf4e3072340194 Guardian 0 70 816 701 2024-03-23T02:22:24Z Jayden 3 wikitext text/x-wiki '''Guardian''' ([[File:Guardian icon.svg|18px]]) is a [[faction]] which specialises in using ranged weapons in [[combat]]. {{Classes}} 950015780f99b97ace6d6a608f8a2e48c9e2d12e Hammermage 0 71 817 702 2024-03-23T02:22:30Z Jayden 3 wikitext text/x-wiki '''Hammermage''' ([[File:Hammermage icon.svg|18px]]) is a [[faction]] which specialises in using magic weapons in [[combat]]. {{Classes}} f8bf2d1ec829eb6be6ceb61e871674e69d17b139 Factions 0 72 818 773 2024-03-23T02:23:16Z Jayden 3 /* Classes */ wikitext text/x-wiki [[File:Factions.jpg|thumb|right|Examples of the three factions.]] '''Factions''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. ==Classes== * The [[Cryoknight]] ([[File:Cryoknight icon.svg|18px]]) faction is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]] * [[Guardian]]s ([[File:Guardian icon.svg|18px]]) use ranged combat, preferring to wield weapons like [[crossbow]]s * The [[Hammermage]] ([[File:Hammermage icon.svg|18px]]) faction fights using a mix of melee and magic {{Factions}} {{Mechanics}} fdaa168145b31986fcec5fa48849733121b02f7f 819 818 2024-03-23T02:23:22Z Jayden 3 wikitext text/x-wiki [[File:Factions.jpg|thumb|right|Examples of the three factions.]] '''Factions''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. ==Factions== * The [[Cryoknight]] ([[File:Cryoknight icon.svg|18px]]) faction is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]] * [[Guardian]]s ([[File:Guardian icon.svg|18px]]) use ranged combat, preferring to wield weapons like [[crossbow]]s * The [[Hammermage]] ([[File:Hammermage icon.svg|18px]]) faction fights using a mix of melee and magic {{Factions}} {{Mechanics}} 7a0c4fd272b732a0666f8dc4629760aadfdc2cb2 Template:Factions 10 190 820 539 2024-03-23T02:25:17Z Jayden 3 wikitext text/x-wiki {{Navbox |name = Factions |title = [[Factions]] |style1 = text-align:center |group1 = * [[File:Cryoknight icon.svg|18px]] [[Cryoknight]] * [[File:Guardian icon.svg|18px]] [[Guardian]] * [[File:Hammermage icon.svg|18px]] [[Hammermage]] }}{{Ctg|Factions}} c2dc2e02915258b5278d7867ad3e4d1040bc509e Combat 0 191 823 718 2024-03-23T04:12:23Z Omnes Ferant 23 link wikitext text/x-wiki [[File:Equipment.jpg|thumb|right|A preview of player in combat.]] '''Combat''' is a mechanic in [[Brighter Shores]] in which several [[player]]s or [[monsters]] fight. Depending on the [[class]] that is being used, player combat can utilise melee, ranged, or magic. {{Mechanics}} 21208dd96cb1cddf670c80f76647856dcc95a2e3 Barricade guard 0 475 824 2024-03-23T04:23:07Z Omnes Ferant 23 Created page with "'''Barricade guard''' is an NPC that guards the [[Barricades]]. The player must talk to [[Captain Jal Degreene]] as part of a quest in order to be allowed through. [[Category:NPCs]]" wikitext text/x-wiki '''Barricade guard''' is an NPC that guards the [[Barricades]]. The player must talk to [[Captain Jal Degreene]] as part of a quest in order to be allowed through. [[Category:NPCs]] d47d259eb775f7d963dd0a59b525226d722c986b User:Sly 2 476 825 2024-03-23T06:17:06Z Sly 39 Created blank page wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Talk:Premium Pass 1 477 826 2024-03-23T13:09:12Z Demonly 42 Created page with "Need to change the "It will not be a recurring subscription", as the latest images by andrew himself on twitter show-cases that it is indeed a time variant subscription. - https://twitter.com/AndrewCGower/status/1771227689514315873/photo/1 "365 days left", the article listed as source reference is older than that which andrew has posted on his twitter himself, with no additional clarification it is misleading to state one or the other." wikitext text/x-wiki Need to change the "It will not be a recurring subscription", as the latest images by andrew himself on twitter show-cases that it is indeed a time variant subscription. - https://twitter.com/AndrewCGower/status/1771227689514315873/photo/1 "365 days left", the article listed as source reference is older than that which andrew has posted on his twitter himself, with no additional clarification it is misleading to state one or the other. 50ecbd31f894b5bb82677d2d3ba4106260b87cda Talk:Premium Pass 1 477 827 826 2024-03-23T13:10:08Z Demonly 42 Blanked the page wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 828 827 2024-03-23T13:10:27Z Demonly 42 /* Changing wiki page to reference latest tweet regarding subscription */ new section wikitext text/x-wiki == Changing wiki page to reference latest tweet regarding subscription == I think we need to change the "It will not be a recurring subscription", as the latest images by andrew himself on twitter show-cases that it is indeed a time variant subscription. - https://twitter.com/AndrewCGower/status/1771227689514315873/photo/1 "365 days left", the article listed as source reference is older than that which andrew has posted on his twitter himself, with no additional clarification it is misleading to state one or the other. 4286f18fb238471b28c76ea0187ac48bb8261ea5 829 828 2024-03-23T13:20:31Z Demonly 42 /* Changing wiki page to reference latest tweet regarding subscription */ wikitext text/x-wiki == Changing wiki page to reference latest tweet regarding subscription == I think we need to change the "It will not be a recurring subscription", as the latest images by andrew himself on twitter show-cases that it is indeed a time variant subscription. - https://twitter.com/AndrewCGower/status/1771227689514315873/photo/1 "365 days left", the article listed as source reference is older than that which andrew has posted on his twitter himself, with no additional clarification it is misleading to state one or the other. To further quote the article: "One of the key differences is we're probably not going to do auto-recurring payments," There is no reference to it not being a recurring premium pass, just no "auto-recurring payments" which is vastly different than having to purchase it every time you run out, this could also potential be a hint at there being a bond type system similar to runescape. 9eea1a07079394ce13f1c68068f023b1a3920bec 830 829 2024-03-23T13:22:09Z Demonly 42 wikitext text/x-wiki == Changing wiki page to reference latest tweet regarding subscription == I think we need to change the "It will not be a recurring subscription", as the latest images by andrew himself on twitter show-cases that it is indeed a time variant subscription. - https://twitter.com/AndrewCGower/status/1771227689514315873/photo/1 "365 days left", the article listed as source reference is older than that which andrew has posted on his twitter himself, with no additional clarification it is misleading to state one or the other. To further quote the article: "One of the key differences is we're probably not going to do auto-recurring payments," There is no reference to it not being a recurring premium pass, just no "auto-recurring payments" which is vastly different than having to purchase it every time you run out, this could also potential be a hint at there being a bond type system similar to runescape, and further reading into the article "Everyone's got their millions of different streaming service subscriptions," Gower explains. "The Netflix subscriptions, Amazon Prime subscriptions, people are getting a certain degree of subscription fatigue. So we've decided to just make it a non-recurring payment. You can just buy a pass, get the premium, it's not like a commitment that you're then gonna have to pay that forever." still doesn't state anything about having to buy it again after time runs out. Just that it's not a commitment that you have to pay forever because he doesn't like how recurring subscriptions are setup to be predatory against people (they auto renew) f3afb0a73e9d3d6557dcf621f4a9ffc3edcea19d 869 830 2024-03-23T14:30:29Z Digitalspork 40 /* Changing wiki page to reference latest tweet regarding subscription */ wikitext text/x-wiki == Changing wiki page to reference latest tweet regarding subscription == I think we need to change the "It will not be a recurring subscription", as the latest images by andrew himself on twitter show-cases that it is indeed a time variant subscription. - https://twitter.com/AndrewCGower/status/1771227689514315873/photo/1 "365 days left", the article listed as source reference is older than that which andrew has posted on his twitter himself, with no additional clarification it is misleading to state one or the other. To further quote the article: "One of the key differences is we're probably not going to do auto-recurring payments," There is no reference to it not being a recurring premium pass, just no "auto-recurring payments" which is vastly different than having to purchase it every time you run out, this could also potential be a hint at there being a bond type system similar to runescape, and further reading into the article "Everyone's got their millions of different streaming service subscriptions," Gower explains. "The Netflix subscriptions, Amazon Prime subscriptions, people are getting a certain degree of subscription fatigue. So we've decided to just make it a non-recurring payment. You can just buy a pass, get the premium, it's not like a commitment that you're then gonna have to pay that forever." still doesn't state anything about having to buy it again after time runs out. Just that it's not a commitment that you have to pay forever because he doesn't like how recurring subscriptions are setup to be predatory against people (they auto renew) // End of OP Adding on to this, I absolutely agree that we should adjust how this is written or perhaps exclude it all together for now as it seems that we don't entirely know how it will function. It does appear that it will be a Premium '''Pass''' rather than some sort of renewing Subscription or Membership system, which leads me to the possibility that the Pass might be something that lasts 1 year versus potentially the design iteration in the interview being something that never expired at the time. Overall it's really hard to say with the information contradicting itself at this point and the game still being in development. --[[User:Digitalspork|Digitalspork (She/Her) ♡]] ([[User talk:Digitalspork|talk]]) 14:30, 23 March 2024 (UTC) 6ac2c974036aed226a8c05bea45d78702c10f363 Basic bacon 0 84 831 194 2024-03-23T13:34:36Z ToofleBerry 6 Added infobox. wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name=Basic bacon |image=Item basic bacon.png |release= |episode= |profession=[[Chef]] |value= }} '''Basic bacon''' is a food that can be created using the [[Chef]] profession. It can be obtained by frying raw bacon in a kitchen. [[Category:Items]] d4c7edd4f86d94ac84706a1df44b594948bf8ca8 833 831 2024-03-23T13:36:34Z ToofleBerry 6 ToofleBerry moved page [[Basic Bacon]] to [[Basic bacon]]: Capitalization. wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name=Basic bacon |image=Item basic bacon.png |release= |episode= |profession=[[Chef]] |value= }} '''Basic bacon''' is a food that can be created using the [[Chef]] profession. It can be obtained by frying raw bacon in a kitchen. [[Category:Items]] d4c7edd4f86d94ac84706a1df44b594948bf8ca8 Raw basic bacon 0 478 832 2024-03-23T13:36:06Z ToofleBerry 6 Created page with "{{Unofficial name}} {{Infobox Item |name=Raw basic bacon |image=Item raw basic bacon.png |release= |episode= |profession=[[Chef]] |value= }} '''Raw basic bacon''' is an item that can be fried to [[basic bacon]] using the [[Chef]] profession. [[Category:Items]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name=Raw basic bacon |image=Item raw basic bacon.png |release= |episode= |profession=[[Chef]] |value= }} '''Raw basic bacon''' is an item that can be fried to [[basic bacon]] using the [[Chef]] profession. [[Category:Items]] 979d778e87c57be33520a229cc08bff24ef11223 Basic Bacon 0 479 834 2024-03-23T13:36:34Z ToofleBerry 6 ToofleBerry moved page [[Basic Bacon]] to [[Basic bacon]]: Capitalization. wikitext text/x-wiki #REDIRECT [[Basic bacon]] c38471a0e7a87a3245441acecaf5ae5c97ffb95e Brighter Shores:Lua 4 480 835 2024-03-23T13:39:39Z Habblet 11 Created page with "'''Lua''' is a programming language that is integrated into the ''{{SITENAME}}'' with [[mw:Extension:Scribunto|Scribunto]]. Lua source code is run from Modules in their own namespace, and invoked with <code><nowiki>{{#invoke:Module|function}}</nowiki></code>; this should be done with a wrapper template. For example, if we have a module named "foo", then we should have a template called "Template:Foo" consisting of <code><nowiki>{{#invoke:Foo|main}}</nowiki></code> to cal..." wikitext text/x-wiki '''Lua''' is a programming language that is integrated into the ''{{SITENAME}}'' with [[mw:Extension:Scribunto|Scribunto]]. Lua source code is run from Modules in their own namespace, and invoked with <code><nowiki>{{#invoke:Module|function}}</nowiki></code>; this should be done with a wrapper template. For example, if we have a module named "foo", then we should have a template called "Template:Foo" consisting of <code><nowiki>{{#invoke:Foo|main}}</nowiki></code> to call the module, and use <code><nowiki>{{Foo}}</nowiki></code> to use the module on pages. For certain complex templates, Lua runs many times more efficiently than standard wikitext. It can also perform operations not available otherwise in wikitext. Unlike JavaScript, it is available to all readers, and does not need to be enabled. It is also run during parsing, rather than after. All templates and modules should have a <code><nowiki>/doc</nowiki></code> page with at least {{t|Documentation}} or {{t|No documentation}} on it. For an introductory guide to using Lua on the wiki see [[Help:Editing/Lua guide]]. ==Helpful tips== In order to produce Lua code that is free from bugs and to do so efficiently there's a few habits you should adopt as they will save you a lot of headaches. ===Use the debug console=== The debug console lets you test code while you're working on it. This saves you a lot of time. It also lets you avoid saving unecessary revisions just to see if your code is working. Instead you'll only be saving known working code after you're done with adding a feature. Don't wait too long though, in case your power or internet goes out. You can test expressions such as: <pre>= 2+2</pre> which will return <pre>4</pre> as you'd expect. You can also call into any function that is ''visible'' from outside. If you defined this function as part of for instance table p which you're then returning to Scribunto, you can call into this function from the debug console: <syntaxhighlight lang='lua'> local p = {} function p.calculate(num) return num + 2 end return p </syntaxhighlight> <pre>= p.calculate(3)</pre> or <pre>mw.log( p.calculate(3) )</pre> yields <pre>5</pre> If this function were instead returning a table you could inspect it like so: <syntaxhighlight lang='lua'> local p = {} function p.calculate2(num) return { num + 1, num + 2} end return p </syntaxhighlight> <pre>mw.logObject( p.calculate2(3) )</pre> Sometimes you might not be interested in the output and only want to check if a function works. In the above example you could have used one of the following for that: <pre>= #p.calculate2(3)</pre> <pre>= type(p.calculate2(3))</pre> Of course calling any Lua function from the outside, expects the function to only take one argument, the frame object, which we can't provide in the debug console, so we have to work around that. This is usually done by providing two entry-point functions, one which takes the frame object, grabs the arguments from it an passes it on to the ''real'' function like so: <syntaxhighlight lang='lua'> local p = {} function p.calculate(frame) local args = frame:getParent().args return p._calculate(args) end function p._calculate(args) local num = args[1] return num + 2 end return p </syntaxhighlight> Normal invocation of the module will use the p.calculate() function, but now you can debug the output from the real p._calculate() function in the debug console like so: <pre>= p._calculate({3})</pre> ===Validate all input parameters=== Make sure to check all the input parameters you get from the entry point function, and do so early on. Invalid or unexpected data will cause your program to crash or misbehave. ===Don't repeat yourself (DRY)=== If your code has sections that look very similar there's a good chance it can be simplified. Always look for opportunities like this. ===Keep it simple stupid (KISS)=== Don't make something complicated if it doesn't need to be. Simpler code is easier to maintain. For instance maybe if you re-organized your data, it becomes much easier to handle in your code. Also does the task at hand really need a Lua module? If the problem is simple enough maybe a template or a macro will work just as well. ===Avoid deep nesting=== If you have too many levels of indented code, that's a sign you need to break out some code and put it into functions. ===Comments=== Good commenting is basically describing what a chunk of code does, not how it works. Also do not comment every line, you should comment every function and every major block of code. ==See also== * [[Wikipedia:Lua (programming language)]] and [[Wikipedia:Project:Lua]], for a more in-depth breakdown of the coding Language * [[mw:Extension:Scribunto/Lua reference manual]], for the documentation of Lua as used by the Scribunto extension * [{{fullurl:Special:AllPages|namespace=828&hideredirects=1}} Special:AllPages (namespace:Module)], for a list of all current modules * [[Brighter Shores:Lua/Modules]], for a list of all modules, excluding Exchange and miscellaneous data pages * [[Brighter Shores:Lua/Helper modules]], for a table of modules designed to facilitate writing other modules * [[:Category:Lua-based templates]], for an index of templates that directly invoke Lua * [[Special:PrefixIndex/Module:Sandbox/]], for a list of personal test modules {{Editing guides}} {{Lua guides}} [[Category:Brighter Shores Wiki community|Lua]] [[Category:Modules| ]] [[Category:Lua-based templates| ]] c401e4c2f1a5c90b90eaa0c98f411206deeb74ec Category:Modules 14 481 836 2024-03-23T13:40:43Z Habblet 11 Created page with "All [[BS:LUA|lua]] modules. Like [[:Category:Templates]], modules should not be in this category directly, but instead in one of the subcategories. [[Category:Brighter Shores Wiki community]]" wikitext text/x-wiki All [[BS:LUA|lua]] modules. Like [[:Category:Templates]], modules should not be in this category directly, but instead in one of the subcategories. [[Category:Brighter Shores Wiki community]] 72981c43b15eb78b5fb06e44cf0466799dd08459 Brighter Shores:Lua/Helper modules 4 482 837 2024-03-23T13:42:07Z Habblet 11 Created page with "This is a table of modules and functions that were created specifically for facilitating the creation of other modules. Documentation for modules here is done in the source code with [[Template:Helper module]]. In all below descriptions, optional arguments have square brackets around them with default values after a pipe, if appropriate. i.e. <code>foo( x, [y|1] )</code> means function foo has one required argument, and the second argument is optional and will default to..." wikitext text/x-wiki This is a table of modules and functions that were created specifically for facilitating the creation of other modules. Documentation for modules here is done in the source code with [[Template:Helper module]]. In all below descriptions, optional arguments have square brackets around them with default values after a pipe, if appropriate. i.e. <code>foo( x, [y|1] )</code> means function foo has one required argument, and the second argument is optional and will default to 1. <dpl> namespace = Module uses = Template:Helper module titlematch = %/doc nottitlematch = Helper module/doc include = {Helper module} format = <table class="wikitable sticky-header"><tr><th>Module</th><th>Function</th><th>Type</th><th>Use</th><th>Example</th></tr>,,,</table> ordermethod=title </dpl> {{Lua guides}} [[Category:Helper modules| ]] 8aa3d4373c70db3602bc54164342ecb106d56e8d Category:Helper modules 14 483 838 2024-03-23T13:42:27Z Habblet 11 Created page with "Modules that are designed to be used by other modules. See also [[Brighter Shores:Lua/Helper modules]]. [[Category:Modules]]" wikitext text/x-wiki Modules that are designed to be used by other modules. See also [[Brighter Shores:Lua/Helper modules]]. [[Category:Modules]] 226a95fefc0206bee90b7d9c317daeedf76ac0f7 Brighter Shores:Protection policy 4 484 839 2024-03-23T13:45:56Z Habblet 11 Created page with "{{Nutshell|Pages should remain fully editable unless there is considerable cause to warrant protection.}} {{Shortcut|BS:PP|BS:PROT|BS:PROTECT}} [[Brighter Shores:Administrators|Administrators]] can '''protect pages''' and unprotect pages. Full protection of a page or image means that a non-admin cannot modify it. The majority of pages on the wiki should remain publicly editable, and '''not protected'''. Pages may, however, be temporarily or permanently protected for le..." wikitext text/x-wiki {{Nutshell|Pages should remain fully editable unless there is considerable cause to warrant protection.}} {{Shortcut|BS:PP|BS:PROT|BS:PROTECT}} [[Brighter Shores:Administrators|Administrators]] can '''protect pages''' and unprotect pages. Full protection of a page or image means that a non-admin cannot modify it. The majority of pages on the wiki should remain publicly editable, and '''not protected'''. Pages may, however, be temporarily or permanently protected for legal reasons (for example, license texts should not be changed) or in cases of extreme vandalism or edit warring. There are two kinds of protection: * '''Full protection''' disables editing for everyone except other administrators. * '''Semi-protection''' disables editing from IP addresses and accounts less than four days old. All protections and unprotections are automatically logged in the [[Special:Log/protect|protection log]]. ==Full protection== * Pages with very high traffic (such as the [[Brighter Shores Wiki|Main Page]]). * Maintaining the integrity of the [[:File:Wiki.png|site's logo]] and [[:File:Favicon.ico|favicon]]. * Protecting the interface and system messages in the [[Help:MediaWiki namespace|MediaWiki namespace]]. (These are protected automatically.) * Talk pages of blocked users, if they abuse the ability to appeal their block. * Templates that have a great potential for vandalism through their inclusion on many pages. ===Temporary=== * Editing disputes * Persistent vandalism by registered users. ==Semi-protection== '''Indefinite''' semi-protection may be used for: * All templates and images transcluded in the [[Brighter Shores Wiki|Main Page]] * User pages when requested by the user * Archives * Talkpages of AutoWikiBrowser bot accounts '''Temporary''' semi-protection may be used for: * Articles, talk pages, and images that are persistently vandalised by multiple users There is no need to protect personal .css and .js pages such as "user/monobook.css" or "user/cologneblue.js". Only the accounts associated with these pages are able to edit them. (For more information on using these pages, see [[Help:User style]].) ==Unprotection== Any administrator may unprotect any page after a reasonable period has lapsed, particularly a few days. Protection can also expire automatically if an expiry time is specified by the protecting administrator. ==Guidelines== * Protecting pages pre-emptively is generally discouraged. Only protect when there is persistent vandalism coming from many IPs/accounts, or if there is an on-going edit war that is showing no signs of cooling down. Blocks should be used instead of protection whenever possible. * Do not edit protected pages that are subject to dispute except to add a notice explaining the page's protection. * Do not protect a page you are involved in a dispute over. Administrative rights are not editor privileges &ndash; administrators should only act as servants to the user community at large. * Avoid favouring one version of the article over another, unless one version is factually incorrect or vandalism. * Temporarily protected pages should generally not be left as such for very long. Expiry times should usually be used in these cases. * Talk and user talk pages are not to be protected except in extreme circumstances. An exception applies to user talk pages for banned users that are being persistently abused. * Protection is not an endorsement of the protected version. Do not edit a page protected in a dispute to change it to another version. * To maintain the open nature of the wiki format, protection should be used sparingly. Always consider other options, such as blocks and dispute resolution, before resorting to protection. Whenever possible, use an expiry time to keep the page protected for as little time as possible. [[Category:Policies|Protection policy]] 48f6ec72daf57447cbd28a6550fc4967a940d211 843 839 2024-03-23T13:52:30Z Habblet 11 wikitext text/x-wiki {{Nutshell|Pages should remain fully editable unless there is considerable cause to warrant protection.}} {{Shortcut|BS:PP|BS:PROT|BS:PROTECT}} [[Brighter Shores:Administrators|Administrators]] can '''protect pages''' and unprotect pages. Full protection of a page or image means that a non-admin cannot modify it. The majority of pages on the wiki should remain publicly editable, and '''not protected'''. Pages may, however, be temporarily or permanently protected for legal reasons (for example, license texts should not be changed) or in cases of extreme vandalism or edit warring. There are two kinds of protection: * '''Full protection''' disables editing for everyone except other administrators. * '''Semi-protection''' disables editing from IP addresses and accounts less than four days old. All protections and unprotections are automatically logged in the [[Special:Log/protect|protection log]]. ==Full protection== * Pages with very high traffic (such as the [[Brighter Shores Wiki|Main Page]]). * Maintaining the integrity of the [[:File:Wiki.png|site's logo]] and [[:File:Favicon.ico|favicon]]. * Protecting the interface and system messages in the [[Help:MediaWiki namespace|MediaWiki namespace]]. (These are protected automatically.) * Talk pages of blocked users, if they abuse the ability to appeal their block. * Templates that have a great potential for vandalism through their inclusion on many pages. ===Temporary=== * Editing disputes * Persistent vandalism by registered users. ==Semi-protection== '''Indefinite''' semi-protection may be used for: * All templates and images transcluded in the [[Brighter Shores Wiki|Main Page]] * User pages when requested by the user * Archives * Talkpages of AutoWikiBrowser bot accounts '''Temporary''' semi-protection may be used for: * Articles, talk pages, and images that are persistently vandalised by multiple users There is no need to protect personal .css and .js pages such as "user/monobook.css" or "user/cologneblue.js". Only the accounts associated with these pages are able to edit them. (For more information on using these pages, see [[Help:User style]].) ==Unprotection== Any administrator may unprotect any page after a reasonable period has lapsed, particularly a few days. Protection can also expire automatically if an expiry time is specified by the protecting administrator. ==Guidelines== * Protecting pages pre-emptively is generally discouraged. Only protect when there is persistent vandalism coming from many IPs/accounts, or if there is an on-going edit war that is showing no signs of cooling down. Blocks should be used instead of protection whenever possible. * Do not edit protected pages that are subject to dispute except to add a notice explaining the page's protection. * Do not protect a page you are involved in a dispute over. Administrative rights are not editor privileges &ndash; administrators should only act as servants to the user community at large. * Avoid favouring one version of the article over another, unless one version is factually incorrect or vandalism. * Temporarily protected pages should generally not be left as such for very long. Expiry times should usually be used in these cases. * Talk and user talk pages are not to be protected except in extreme circumstances. An exception applies to user talk pages for banned users that are being persistently abused. * Protection is not an endorsement of the protected version. Do not edit a page protected in a dispute to change it to another version. * To maintain the open nature of the wiki format, protection should be used sparingly. Always consider other options, such as blocks and dispute resolution, before resorting to protection. Whenever possible, use an expiry time to keep the page protected for as little time as possible. [[Category:Policies & Guidelines]] 29d176634873214449a241bd17e03e4f14c9055d Template:Nutshell 10 485 840 2024-03-23T13:47:24Z Habblet 11 Created page with "{{MessageBox |img = [[File:Bronze coin.png|center|link=]] |{{{title|This page}}} in a nutshell: |{{#if:{{{2|}}} |*{{{1}}} *{{{2}}}{{#if:{{{3|}}}| *{{{3}}} }}|{{{1}}}}} }}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{MessageBox |img = [[File:Bronze coin.png|center|link=]] |{{{title|This page}}} in a nutshell: |{{#if:{{{2|}}} |*{{{1}}} *{{{2}}}{{#if:{{{3|}}}| *{{{3}}} }}|{{{1}}}}} }}<noinclude>{{/doc}}</noinclude> 83d09117d9da24d2a89c198ad7e5c9b13c3ea3dd Template:Nutshell/doc 10 486 841 2024-03-23T13:48:35Z Habblet 11 Created page with "{{Documentation}} This template displays an notification about the basics of the page. ==Usage== This template can be used by entering the following onto a relevant page. <pre>{{Nutshell|First bullet point|Second bullet point|Third bullet point}}</pre> ==Bullet points== These parameters are replaced by the text that will describe the page. Only one of these is absolutely necessary. ==Template notes== * Use the nutshell summary to make the Brighter Shores Wiki more in..." wikitext text/x-wiki {{Documentation}} This template displays an notification about the basics of the page. ==Usage== This template can be used by entering the following onto a relevant page. <pre>{{Nutshell|First bullet point|Second bullet point|Third bullet point}}</pre> ==Bullet points== These parameters are replaced by the text that will describe the page. Only one of these is absolutely necessary. ==Template notes== * Use the nutshell summary to make the Brighter Shores Wiki more inviting to [[Wikipedia:Welcoming committee|new users]] * Nutshell entries must be brief overviews, with a very high [[wikipedia:Signal-to-noise ratio#Informal use|signal-to-noise ratio]] * Make sure each word in the nutshell carries significant weight * Wikilink key words to other [[Wikipedia:Policies and guidelines|policy and guideline]] pages to create a "nut trail" <includeonly>[[Category:Message box templates|{{PAGENAME}}]]</includeonly> c86aaa7710e9676ce4097f03d1253c1d2d758329 Category:Policies & Guidelines 14 487 842 2024-03-23T13:51:49Z Habblet 11 Created page with "{{Categoryheader|pages|[[Brighter Shores Wiki]]'s policies and guidelines. They should always be adhered to. If you disagree with any of them, feel free to discuss them on their respective talk pages.||}} [[Category:Brighter Shores Wiki community]]" wikitext text/x-wiki {{Categoryheader|pages|[[Brighter Shores Wiki]]'s policies and guidelines. They should always be adhered to. If you disagree with any of them, feel free to discuss them on their respective talk pages.||}} [[Category:Brighter Shores Wiki community]] 6eaab344bdc23cc3790f0e6039d14ea2fafe26a1 Brighter Shores:Shortcut 4 488 844 2024-03-23T13:54:09Z Habblet 11 Created page with "{{Shortcut|BS:SC|BS:SHORT}} A '''shortcut''' is a specialised type of [[Brighter Shores:Redirecting|redirect page]] that provides an abbreviated wikilink to a project page or one of its sections, usually from the Brighter Shores: [[Help:Namespace|namespace]]. If there is a shortcut for a page or section, it is usually displayed in an information box labelled 'shortcuts:', as seen at the right side of this page. See [[Template:Shortcut]] for instructions on how to create..." wikitext text/x-wiki {{Shortcut|BS:SC|BS:SHORT}} A '''shortcut''' is a specialised type of [[Brighter Shores:Redirecting|redirect page]] that provides an abbreviated wikilink to a project page or one of its sections, usually from the Brighter Shores: [[Help:Namespace|namespace]]. If there is a shortcut for a page or section, it is usually displayed in an information box labelled 'shortcuts:', as seen at the right side of this page. See [[Template:Shortcut]] for instructions on how to create shortcuts. [[Category:Brighter Shores Wiki community]] 84cd3e28ba96a07216659a590755ef17513f82ae 2024 0 489 845 2024-03-23T13:56:36Z Habblet 11 Created page with "'''2024''' is the 14<sup>th</sup> anniversary of the formation of [[Fen Research]] and the year of release of ''[[Brighter Shores]]''. {{Timeline}}" wikitext text/x-wiki '''2024''' is the 14<sup>th</sup> anniversary of the formation of [[Fen Research]] and the year of release of ''[[Brighter Shores]]''. {{Timeline}} 493107277cd25f364a5f0c157f5df5866da5941c Template:Timeline 10 490 846 2024-03-23T13:58:20Z Habblet 11 Created page with "{{Navbox |name = Timeline |title = ''Brighter Shores'' timeline |gtitle1 = 2010s |group1 = * [[2010]] |gtitle2 = 2020s |group2 = * [[2024]] |gtitle3 = Other |group3 = * [[Upcoming updates]] * [[Hidden updates]] * [[Calendar]] * [[:Category:Dates in Brighter Shores|Dates in Brighter Shores]] }}{{Ctg|Dates in Brighter Shores::ifmatches[199][200][201]}}" wikitext text/x-wiki {{Navbox |name = Timeline |title = ''Brighter Shores'' timeline |gtitle1 = 2010s |group1 = * [[2010]] |gtitle2 = 2020s |group2 = * [[2024]] |gtitle3 = Other |group3 = * [[Upcoming updates]] * [[Hidden updates]] * [[Calendar]] * [[:Category:Dates in Brighter Shores|Dates in Brighter Shores]] }}{{Ctg|Dates in Brighter Shores::ifmatches[199][200][201]}} 9a545f5076606f82f16c4485082d27cc44439b80 854 846 2024-03-23T14:11:29Z Habblet 11 wikitext text/x-wiki {{Navbox |name = Timeline |title = ''Brighter Shores'' timeline |gtitle1 = 2010s |group1 = * [[2010]] |gtitle2 = 2020s |group2 = * [[2024]] |gtitle3 = Other |group3 = * [[Upcoming updates]] * [[Hidden updates]] * [[:Category:Dates in Brighter Shores|Dates in Brighter Shores]] }}{{Ctg|Dates in Brighter Shores::ifmatches[199][200][201]}} 91b5f602c6b6f8113d9211dbed724df24a721f71 858 854 2024-03-23T14:15:50Z Habblet 11 wikitext text/x-wiki {{Navbox |name = Timeline |title = ''Brighter Shores'' timeline |gtitle1 = 2010s |group1 = * [[2010]] |gtitle2 = 2020s |group2 = * [[2024]] |gtitle3 = Other |group3 = * [[Upcoming updates]] * [[Hidden updates]] * [[:Category:Dates in Brighter Shores|Dates in Brighter Shores]] }}{{Ctg|Timeline}} cdf2b52067592f1144c910d5e87b0f17093a5d53 Template:NA 10 491 847 2024-03-23T14:01:53Z Habblet 11 Created page with "<includeonly>class="table-na nohighlight" style="text-align: {{{align|center}}}; {{{style|}}};" {{#if:{{{data-sort|}}}|data-sort-value="{{{data-sort}}}"|}} {{#if:{{{colspan|}}}|colspan={{{colspan}}}}} {{#if:{{{rowspan|}}}|rowspan={{{rowspan}}}}}<!-- -->| <small>{{{1|N/A}}}</small></includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>class="table-na nohighlight" style="text-align: {{{align|center}}}; {{{style|}}};" {{#if:{{{data-sort|}}}|data-sort-value="{{{data-sort}}}"|}} {{#if:{{{colspan|}}}|colspan={{{colspan}}}}} {{#if:{{{rowspan|}}}|rowspan={{{rowspan}}}}}<!-- -->| <small>{{{1|N/A}}}</small></includeonly><noinclude>{{/doc}}</noinclude> ed61ed44168991085a44ab4301eeaaeb128ae1c4 Template:NA/doc 10 492 848 2024-03-23T14:02:34Z Habblet 11 Created page with "{{Documentation}} This template displays a table cell with the provided text, or the letters "N/A" if no text is provided. The contents of the cell will be center-aligned unless the optional <code>align</code> parameter is used to specify otherwise. The styling can be further customised using the optional <code>style</code> parameter. The optional <code>data-sort</code> parameter can be used to provide a value used for sorting within the table. ==Usage== This template..." wikitext text/x-wiki {{Documentation}} This template displays a table cell with the provided text, or the letters "N/A" if no text is provided. The contents of the cell will be center-aligned unless the optional <code>align</code> parameter is used to specify otherwise. The styling can be further customised using the optional <code>style</code> parameter. The optional <code>data-sort</code> parameter can be used to provide a value used for sorting within the table. ==Usage== This template can be used by entering the following onto a relevant page, within a table cell. <pre>{{NA}}</pre> {| class="wikitable" !{{NA}} !Y !N |- |Y||Y||Y |- |N||Y||{{NA}} |} ===colspan=== Use this parameter to adjust the column width. ===rowspan=== Use this parameter to adjust the row height. <pre>{{NA|colspan=2|rowspan=2}}</pre> {| class="wikitable" !Y !{{NA}} ! colspan="2" |N |- |Y||Y||Y||Y |- | rowspan="2" |N||Y||{{NA|colspan=2|rowspan=2}} |- |Y |} ===text=== Use may also change the text presented simply by doing the following: <pre>{{NA|Perhaps}}</pre> {| class="wikitable" !{{NA}} !Y !N |- |Y||Y||Y |- |N||Y||{{NA|Perhaps}} |} ===style=== Allows adding arbitrary inline CSS to the cell. <pre>{{NA|style=text-align:left;}} {{NA|style=text-align:right;}}</pre> {| class="wikitable" !Q wider !Y wider !N wider |- |Y||Y||Y |- |N||{{NA|style=text-align:left;}}||{{NA|style=text-align:right;}} |} ===data-sort=== Allows setting a specific sort value for the cell in sortable tables. <pre>{{NA|data-sort=zz}}</pre> {| class="wikitable sortable" !{{NA}} !Y !N |- |Y||Y||Y |- |N||Y||{{NA|data-sort=zz}} |- |{{NA}}||N||N |} Note how the NA in column 1 (which has no <code>data-sort</code>) is sorted after N, while the NA in column 3 (with <code>data-sort="zz"</code>) is sorted after Y. ==See also== * {{t|Okay}} and {{t|Not okay}} * {{t|Yes}} and {{t|No}} * {{t|NA}} * {{t|NoBorder}} <includeonly>[[Category:Formatting templates|{{PAGENAME}}]]</includeonly> d70ed77cb161c6470f842f4c63f150c2ef602cdb Template:Future 10 493 849 2024-03-23T14:05:10Z Habblet 11 Created page with "{{MessageBox |img = [[File:Unknown episode icon.png|link=|center]] |This article or section contains information about a scheduled [[Upcoming updates|future release or update]]. |The information is subject to change. As the wiki is not [[BS:CRYSTAL|a crystal ball]], this article should consist only of facts included in official Fen Research releases and ''not'' speculation. }}{{Mainonly|[[Category:Future content]]}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{MessageBox |img = [[File:Unknown episode icon.png|link=|center]] |This article or section contains information about a scheduled [[Upcoming updates|future release or update]]. |The information is subject to change. As the wiki is not [[BS:CRYSTAL|a crystal ball]], this article should consist only of facts included in official Fen Research releases and ''not'' speculation. }}{{Mainonly|[[Category:Future content]]}}<noinclude>{{/doc}}</noinclude> bd1c6affd3316589c3443a0f31821034fe9b4f9b Template:Future/doc 10 494 850 2024-03-23T14:05:29Z Habblet 11 Created page with "{{Documentation}} This template displays a note that the page has information on a future release and a disclaimer that the information is subject to change. ==Usage== This template can be used by entering the following onto a page. It automatically includes [[:Category:Future content]] to the page. <pre>{{Future}}</pre> <includeonly>[[Category:Message box templates|{{PAGENAME}}]]</includeonly>" wikitext text/x-wiki {{Documentation}} This template displays a note that the page has information on a future release and a disclaimer that the information is subject to change. ==Usage== This template can be used by entering the following onto a page. It automatically includes [[:Category:Future content]] to the page. <pre>{{Future}}</pre> <includeonly>[[Category:Message box templates|{{PAGENAME}}]]</includeonly> cfc8b51f904d19e54d10ff8b6ecaf4d97895602f Category:Future content 14 495 851 2024-03-23T14:06:22Z Habblet 11 Created page with "{{Categoryheader|pages|future content. These are content updates that have not yet happened, but which are expected or scheduled to happen at some time in the future. Articles are automatically added to this category if they contain {{t|Future}}. Note that this is intended to refer only to future updates that have been officially announced by [[Fen Research]], and should not be used to document speculation. Brighter Shores:The Wiki is not...#... a crystal ball|The Bri..." wikitext text/x-wiki {{Categoryheader|pages|future content. These are content updates that have not yet happened, but which are expected or scheduled to happen at some time in the future. Articles are automatically added to this category if they contain {{t|Future}}. Note that this is intended to refer only to future updates that have been officially announced by [[Fen Research]], and should not be used to document speculation. [[Brighter Shores:The Wiki is not...#... a crystal ball|The Brighter Shores Wiki is not a crystal ball]]||}} [[Category:Content]] a485d1a243fe58f98024982a42663a4485f61bae Upcoming updates 0 496 852 2024-03-23T14:07:19Z Habblet 11 Created page with "{{Future}} This page is a list of [[updates]] coming to ''[[Brighter Shores]]''. ==Schedule== ''The dates and specific order of the updates are based on official announcements and estimates from Fen Research. It is possible that an update will not be released within the listed time frame.'' ===2024=== {| class="wikitable" ! colspan="2" | Timeframe ! Update |- | colspan="2" | Q3 | Release of ''[[Brighter Shores]]''. |}" wikitext text/x-wiki {{Future}} This page is a list of [[updates]] coming to ''[[Brighter Shores]]''. ==Schedule== ''The dates and specific order of the updates are based on official announcements and estimates from Fen Research. It is possible that an update will not be released within the listed time frame.'' ===2024=== {| class="wikitable" ! colspan="2" | Timeframe ! Update |- | colspan="2" | Q3 | Release of ''[[Brighter Shores]]''. |} 04bba2b4a9d8556a991242b17328dcf3fccc2067 Hidden updates 0 497 853 2024-03-23T14:09:52Z Habblet 11 Created page with "'''Hidden updates''' are [[updates]] which are not mentioned in the ''Brighter Shores'' news. There are small updates and bug fixes which are too trivial to announce and should be documented here as they are found. This page lists hidden updates for {{CURRENTYEAR}}." wikitext text/x-wiki '''Hidden updates''' are [[updates]] which are not mentioned in the ''Brighter Shores'' news. There are small updates and bug fixes which are too trivial to announce and should be documented here as they are found. This page lists hidden updates for {{CURRENTYEAR}}. 905d533fbc74a183be770b8f8d85e69ef164d27e Category:Dates in Brighter Shores 14 498 855 2024-03-23T14:12:51Z Habblet 11 Created page with "{{Categoryheader|pages|dates in ''Brighter Shores''||static=no}} {| class="wikitable" align="center" width="75%" ! Events in ''Brighter Shores'' listed by year |- | align=center | [[2010]] &ndash; [[2024]] |} {| class="wikitable" align="center" width="75%" ! colspan="32" | Events in ''Brighter Shores'' listed by date |- style="font-size:75%" |'''Jan''' |[[1 January|1]] |[[2 January|2]] |[[3 January|3]] |[[4 January|4]] |[[5 January|5]] |[[6 January|6]] |[[7 January|7]..." wikitext text/x-wiki {{Categoryheader|pages|dates in ''Brighter Shores''||static=no}} {| class="wikitable" align="center" width="75%" ! Events in ''Brighter Shores'' listed by year |- | align=center | [[2010]] &ndash; [[2024]] |} {| class="wikitable" align="center" width="75%" ! colspan="32" | Events in ''Brighter Shores'' listed by date |- style="font-size:75%" |'''Jan''' |[[1 January|1]] |[[2 January|2]] |[[3 January|3]] |[[4 January|4]] |[[5 January|5]] |[[6 January|6]] |[[7 January|7]] |[[8 January|8]] |[[9 January|9]] |[[10 January|10]] |[[11 January|11]] |[[12 January|12]] |[[13 January|13]] |[[14 January|14]] |[[15 January|15]] |[[16 January|16]] |[[17 January|17]] |[[18 January|18]] |[[19 January|19]] |[[20 January|20]] |[[21 January|21]] |[[22 January|22]] |[[23 January|23]] |[[24 January|24]] |[[25 January|25]] |[[26 January|26]] |[[27 January|27]] |[[28 January|28]] |[[29 January|29]] |[[30 January|30]] |[[31 January|31]] |- style="font-size:75%" |'''Feb''' |[[1 February|1]] |[[2 February|2]] |[[3 February|3]] |[[4 February|4]] |[[5 February|5]] |[[6 February|6]] |[[7 February|7]] |[[8 February|8]] |[[9 February|9]] |[[10 February|10]] |[[11 February|11]] |[[12 February|12]] |[[13 February|13]] |[[14 February|14]] |[[15 February|15]] |[[16 February|16]] |[[17 February|17]] |[[18 February|18]] |[[19 February|19]] |[[20 February|20]] |[[21 February|21]] |[[22 February|22]] |[[23 February|23]] |[[24 February|24]] |[[25 February|25]] |[[26 February|26]] |[[27 February|27]] |[[28 February|28]] |[[29 February|29]] |- style="font-size:75%" |'''Mar''' |[[1 March|1]] |[[2 March|2]] |[[3 March|3]] |[[4 March|4]] |[[5 March|5]] |[[6 March|6]] |[[7 March|7]] |[[8 March|8]] |[[9 March|9]] |[[10 March|10]] |[[11 March|11]] |[[12 March|12]] |[[13 March|13]] |[[14 March|14]] |[[15 March|15]] |[[16 March|16]] |[[17 March|17]] |[[18 March|18]] |[[19 March|19]] |[[20 March|20]] |[[21 March|21]] |[[22 March|22]] |[[23 March|23]] |[[24 March|24]] |[[25 March|25]] |[[26 March|26]] |[[27 March|27]] |[[28 March|28]] |[[29 March|29]] |[[30 March|30]] |[[31 March|31]] |- style="font-size:75%" |'''Apr''' |[[1 April|1]] |[[2 April|2]] |[[3 April|3]] |[[4 April|4]] |[[5 April|5]] |[[6 April|6]] |[[7 April|7]] |[[8 April|8]] |[[9 April|9]] |[[10 April|10]] |[[11 April|11]] |[[12 April|12]] |[[13 April|13]] |[[14 April|14]] |[[15 April|15]] |[[16 April|16]] |[[17 April|17]] |[[18 April|18]] |[[19 April|19]] |[[20 April|20]] |[[21 April|21]] |[[22 April|22]] |[[23 April|23]] |[[24 April|24]] |[[25 April|25]] |[[26 April|26]] |[[27 April|27]] |[[28 April|28]] |[[29 April|29]] |[[30 April|30]] |- style="font-size:75%" |'''May''' |[[1 May|1]] |[[2 May|2]] |[[3 May|3]] |[[4 May|4]] |[[5 May|5]] |[[6 May|6]] |[[7 May|7]] |[[8 May|8]] |[[9 May|9]] |[[10 May|10]] |[[11 May|11]] |[[12 May|12]] |[[13 May|13]] |[[14 May|14]] |[[15 May|15]] |[[16 May|16]] |[[17 May|17]] |[[18 May|18]] |[[19 May|19]] |[[20 May|20]] |[[21 May|21]] |[[22 May|22]] |[[23 May|23]] |[[24 May|24]] |[[25 May|25]] |[[26 May|26]] |[[27 May|27]] |[[28 May|28]] |[[29 May|29]] |[[30 May|30]] |[[31 May|31]] |- style="font-size:75%" |'''Jun''' |[[1 June|1]] |[[2 June|2]] |[[3 June|3]] |[[4 June|4]] |[[5 June|5]] |[[6 June|6]] |[[7 June|7]] |[[8 June|8]] |[[9 June|9]] |[[10 June|10]] |[[11 June|11]] |[[12 June|12]] |[[13 June|13]] |[[14 June|14]] |[[15 June|15]] |[[16 June|16]] |[[17 June|17]] |[[18 June|18]] |[[19 June|19]] |[[20 June|20]] |[[21 June|21]] |[[22 June|22]] |[[23 June|23]] |[[24 June|24]] |[[25 June|25]] |[[26 June|26]] |[[27 June|27]] |[[28 June|28]] |[[29 June|29]] |[[30 June|30]] |- style="font-size:75%" |'''Jul''' |[[1 July|1]] |[[2 July|2]] |[[3 July|3]] |[[4 July|4]] |[[5 July|5]] |[[6 July|6]] |[[7 July|7]] |[[8 July|8]] |[[9 July|9]] |[[10 July|10]] |[[11 July|11]] |[[12 July|12]] |[[13 July|13]] |[[14 July|14]] |[[15 July|15]] |[[16 July|16]] |[[17 July|17]] |[[18 July|18]] |[[19 July|19]] |[[20 July|20]] |[[21 July|21]] |[[22 July|22]] |[[23 July|23]] |[[24 July|24]] |[[25 July|25]] |[[26 July|26]] |[[27 July|27]] |[[28 July|28]] |[[29 July|29]] |[[30 July|30]] |[[31 July|31]] |- style="font-size:75%" |'''Aug''' |[[1 August|1]] |[[2 August|2]] |[[3 August|3]] |[[4 August|4]] |[[5 August|5]] |[[6 August|6]] |[[7 August|7]] |[[8 August|8]] |[[9 August|9]] |[[10 August|10]] |[[11 August|11]] |[[12 August|12]] |[[13 August|13]] |[[14 August|14]] |[[15 August|15]] |[[16 August|16]] |[[17 August|17]] |[[18 August|18]] |[[19 August|19]] |[[20 August|20]] |[[21 August|21]] |[[22 August|22]] |[[23 August|23]] |[[24 August|24]] |[[25 August|25]] |[[26 August|26]] |[[27 August|27]] |[[28 August|28]] |[[29 August|29]] |[[30 August|30]] |[[31 August|31]] |- style="font-size:75%" |'''Sep''' |[[1 September|1]] |[[2 September|2]] |[[3 September|3]] |[[4 September|4]] |[[5 September|5]] |[[6 September|6]] |[[7 September|7]] |[[8 September|8]] |[[9 September|9]] |[[10 September|10]] |[[11 September|11]] |[[12 September|12]] |[[13 September|13]] |[[14 September|14]] |[[15 September|15]] |[[16 September|16]] |[[17 September|17]] |[[18 September|18]] |[[19 September|19]] |[[20 September|20]] |[[21 September|21]] |[[22 September|22]] |[[23 September|23]] |[[24 September|24]] |[[25 September|25]] |[[26 September|26]] |[[27 September|27]] |[[28 September|28]] |[[29 September|29]] |[[30 September|30]] |- style="font-size:75%" |'''Oct''' |[[1 October|1]] |[[2 October|2]] |[[3 October|3]] |[[4 October|4]] |[[5 October|5]] |[[6 October|6]] |[[7 October|7]] |[[8 October|8]] |[[9 October|9]] |[[10 October|10]] |[[11 October|11]] |[[12 October|12]] |[[13 October|13]] |[[14 October|14]] |[[15 October|15]] |[[16 October|16]] |[[17 October|17]] |[[18 October|18]] |[[19 October|19]] |[[20 October|20]] |[[21 October|21]] |[[22 October|22]] |[[23 October|23]] |[[24 October|24]] |[[25 October|25]] |[[26 October|26]] |[[27 October|27]] |[[28 October|28]] |[[29 October|29]] |[[30 October|30]] |[[31 October|31]] |- style="font-size:75%" |'''Nov''' |[[1 November|1]] |[[2 November|2]] |[[3 November|3]] |[[4 November|4]] |[[5 November|5]] |[[6 November|6]] |[[7 November|7]] |[[8 November|8]] |[[9 November|9]] |[[10 November|10]] |[[11 November|11]] |[[12 November|12]] |[[13 November|13]] |[[14 November|14]] |[[15 November|15]] |[[16 November|16]] |[[17 November|17]] |[[18 November|18]] |[[19 November|19]] |[[20 November|20]] |[[21 November|21]] |[[22 November|22]] |[[23 November|23]] |[[24 November|24]] |[[25 November|25]] |[[26 November|26]] |[[27 November|27]] |[[28 November|28]] |[[29 November|29]] |[[30 November|30]] |- style="font-size:75%" |'''Dec''' |[[1 December|1]] |[[2 December|2]] |[[3 December|3]] |[[4 December|4]] |[[5 December|5]] |[[6 December|6]] |[[7 December|7]] |[[8 December|8]] |[[9 December|9]] |[[10 December|10]] |[[11 December|11]] |[[12 December|12]] |[[13 December|13]] |[[14 December|14]] |[[15 December|15]] |[[16 December|16]] |[[17 December|17]] |[[18 December|18]] |[[19 December|19]] |[[20 December|20]] |[[21 December|21]] |[[22 December|22]] |[[23 December|23]] |[[24 December|24]] |[[25 December|25]] |[[26 December|26]] |[[27 December|27]] |[[28 December|28]] |[[29 December|29]] |[[30 December|30]] |[[31 December|31]] |} [[Category:Updates]] 0416a20095bbaf6028366d04b815db693c4bf7e3 Category:Updates 14 499 856 2024-03-23T14:14:12Z Habblet 11 Created page with "{{Categoryheader|pages, images, and subcategories|any materials about ''[[Brighter Shores]]'' updates pertaining to either the game client, the ''Brighter Shores'' website, or the ''Brighter Shores'' community, whether they are in the form of front page updates, developer blogs, patch notes, and any updates no longer kept on the ''Brighter Shores'' website|yes|[[Template:Updates]]}} [[Category:Content]] [[Category:Game info]]" wikitext text/x-wiki {{Categoryheader|pages, images, and subcategories|any materials about ''[[Brighter Shores]]'' updates pertaining to either the game client, the ''Brighter Shores'' website, or the ''Brighter Shores'' community, whether they are in the form of front page updates, developer blogs, patch notes, and any updates no longer kept on the ''Brighter Shores'' website|yes|[[Template:Updates]]}} [[Category:Content]] [[Category:Game info]] 07027ef8cca83c8c3450573b3ea1d5c0021b0ea1 Category:Game info 14 500 857 2024-03-23T14:14:37Z Habblet 11 Created page with "{{Categoryheader|pages|game information that does not fit in the [[:Category:Content|content categories]]||}} [[Category:Content]]" wikitext text/x-wiki {{Categoryheader|pages|game information that does not fit in the [[:Category:Content|content categories]]||}} [[Category:Content]] 82769e2363a58588e3003336640f40ee242c2f80 Category:Timeline 14 501 859 2024-03-23T14:16:50Z Habblet 11 Created page with "{{Categoryheader|pages|''[[Brighter Shores]]''<nowiki/>'s timeline|yes|[[Template:Timeline]]}} [[Category:Game info]]" wikitext text/x-wiki {{Categoryheader|pages|''[[Brighter Shores]]''<nowiki/>'s timeline|yes|[[Template:Timeline]]}} [[Category:Game info]] 2222004cffa6b0538edbd16ba450250d8a3de111 2010 0 502 860 2024-03-23T14:17:48Z Habblet 11 Created page with "'''2010''' is the year of formation of [[Fen Research]]. {{Timeline}}" wikitext text/x-wiki '''2010''' is the year of formation of [[Fen Research]]. {{Timeline}} b3ab55187ef608b38a8c10762729656f8973733a Module:Navbox/doc 828 503 861 2024-03-23T14:18:42Z Habblet 11 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Module:Navbox 828 98 862 157 2024-03-23T14:19:46Z Habblet 11 Scribunto text/plain -- <nowiki> -- -- Implements {{navbox}} -- local p = {} local tnavbar = require( 'Module:Tnavbar' ) local yesno = require( 'Module:Yesno' ) local page_title = mw.title.getCurrentTitle().fullText -- -- Helper for inserting a new row into the navbox -- -- @param tbl {mw.html table} -- @return tbl {mw.html table} -- local function insertRow( tbl ) return tbl:tag( 'tr' ) end -- -- Creates the navbox table -- -- @param args {table} -- @return tbl {mw.html table} -- local function createTbl( args ) local tbl = mw.html.create( 'table' ) tbl :addClass( yesno(args.subgroup, false) and 'navbox-subgroup' or 'navbox' ) :addClass( 'nowraplinks' ) if not yesno(args.subgroup, false) and ( args.state == 'collapsed' or args.state == 'uncollapsed' or args.state == 'autocollapse' or -- defaults to autocollapse args.state == nil ) then tbl:addClass( 'mw-collapsible' ) if args.state == 'collapsed' then tbl:addClass( 'mw-collapsed' ) elseif args.state == 'uncollapsed' then tbl:addClass('navbox-uncollapsed') else tbl:addClass( 'mw-collapsed' ) tbl:addClass( 'navbox-autocollapse' ) end end if yesno(args.collapsible, false) then tbl:addClass( 'navbox-collapsible' ) end if args.style then tbl:cssText( args.style ) end -- used by [[MediaWiki:Gadget-navbox-tracking.js]] for tracking purposes tbl:attr( { ['data-navbox-name'] = args.name } ) return tbl end -- -- Wrapper for [[Module:Tnavbar]] -- -- @param args {table} -- @return {mw.html table} -- local function navbar( args ) local div = mw.html.create( 'div' ) :css( { float = 'left', ['text-align'] = 'left' } ) :wikitext( tnavbar._navbar( { [1] = args.name, ['mini'] = true, ['talk'] = 'autoconfirmed' } ) ) return div end -- -- Creates the header (what you see when the navbox is collapsed) -- -- @param tbl {mw.html table} -- @param args {table} -- @return {mw.html table} -- local function header( tbl, args ) local div = insertRow( tbl ) :tag( 'th' ) :attr( 'colspan', '2' ) :addClass( 'navbox-title' ) :wikitext( args.name and tostring( navbar( args ) ) ) :tag('div') :addClass( 'navbox-title-name' ) :wikitext( args.title ) return div:allDone() end -- -- Inserts a row into the navbox -- -- @param tbl {mw.html table} -- @param gtitle {string} -- @param group {string} -- @param gtype {string} -- @param style {string} -- @return {mw.html table} -- local function row( tbl, gtitle, group, gtype, style, _name, subgroup ) local tr = insertRow( tbl ) local td if gtitle then td = tr :addClass( 'navbox-group' ) :tag( 'th' ) :addClass( 'navbox-group-title' ) :wikitext( gtitle ) :done() :tag( 'td' ) else td = tr :addClass( 'navbox-group' ) :addClass( 'navbox-group-split' ) :tag( 'td' ) :addClass( 'navbox-group-title-hidden' ) :attr( 'colspan', '0' ) :css( 'display', 'none' ) :done() :tag( 'td' ) :attr( 'colspan', '2' ) end --[[ List styling This is unlikely to be implemented in the near future due to it requiring extra css to work and mobile currently not supporting that css. As an example, it lets you do the following instead if using {{*}} all the time | group3 = * {{plink|foo}} * {{plink|bar}} * {{plink|baz}} ]] if mw.ustring.match( group, '^%s*%*' ) then td:newline() -- trim whitespace on bullets local spl = mw.text.split( group, '\n' ) for i = 1, #spl do spl[i] = mw.text.trim( spl[i] ) end group = '\n' .. table.concat( spl, '\n' ) end --local group2 = group --local group3 = group2 -- analytics --if _name then -- local name = mw.ustring.gsub(_name,' ','_') -- for v in mw.ustring.gmatch(group,'%[%[[^%]]+%]%]') do -- if mw.ustring.match(v,'%[%[File:.+|link=') then -- local link = mw.ustring.match(v,'|link=([^%]|]+)') -- if link then -- local linkrep = mw.ustring.gsub(link,'([%%%]%[%-^$*()+?])','%%%1') -- local _link = mw.ustring.gsub(link,' ','_') -- local newfile = mw.ustring.gsub(v,'|link='..linkrep,string.format('|link=https://brightershoreswiki.org/w/%s?f=%s',_link,name)) -- local w = mw.ustring.gsub(v,'([%%%]%[%-^$*()+?])','%%%1') -- group2 = mw.ustring.gsub(group2,w,newfile) -- end -- elseif mw.ustring.match(v,'%[%[Category:') then -- nothing -- else -- local link = mw.ustring.match(v,'%[%[([^%]|]+)') -- local txt = mw.ustring.match(v,'%|([^%]|]+)') or link -- local newlink = '' -- black links if current page -- if link == page_title then -- newlink = string.format('<b>%s</b>',txt) -- else -- local _link = mw.ustring.gsub(link or '',' ','_') -- newlink = string.format('[https://brightershoreswiki.org/w/%s?n=%s %s]',_link,name,txt) -- end -- local w = mw.ustring.gsub(v,'([%%%]%[%-^$*()+?])','%%%1') -- group2 = mw.ustring.gsub(group2,w,newlink) -- end -- end --[==[ fix [[these kind]]s of [[link]]s post analytics parse ]==] -- group3 = group2 -- for v in mw.ustring.gmatch(group2,'%[https://brightershoreswiki.org/w[^%]]-%]%a') do -- local rep = mw.ustring.gsub(v,'%]','') -- rep = rep..']' -- local w = mw.ustring.gsub(v,'([%%%]%[%-^$*()+?])','%%%1') -- group3 = mw.ustring.gsub(group2,w,rep) -- end --end td :addClass( 'navbox-list' ) :wikitext( group ) --group3 if gtype and mw.ustring.lower( gtype ) == 'subgroup' then td :addClass( 'navbox-parent' ) :css( { padding = '0' } ) end if style then td:cssText( style ) end return td:allDone() end -- -- Inserts a footer into the navbox -- -- @param tbl {mw.html table} -- @param args {table} -- @return {mw.html table} -- local function footer( tbl, args ) local th = insertRow( tbl ) :tag( 'th' ) :attr( 'colspan', '2' ) :addClass( 'navbox-footer' ) if args.fstyle then th:cssText( args.fstyle ) end if mw.ustring.match( args.footer, '^%s*%*' ) then th:newline() -- trim whitespace on bullets local spl = mw.text.split( args.footer, '\n' ) for i = 1, #spl do spl[i] = mw.text.trim( spl[i] ) end args.footer = table.concat( spl, '\n' ) th:addClass( 'navbox-list' ) end th:wikitext( args.footer ) return th:allDone() end -- -- Adds [[Category:Navbox templates]] to navbox template pages -- -- @return {string} -- local function categories() local title = mw.title.getCurrentTitle() local page = title.text local ns = title.nsText if ns == 'Template' then -- sort in category by pagename return '[[Category:Navbox templates| ' .. page .. ']]' else return '' end end -- -- Adds [[Template:Navbox/doc]] to navbox template pages -- -- @param args {table} -- @return {string} -- local function docs( args ) local frame = mw.getCurrentFrame() local title = mw.title.getCurrentTitle() local base = title.baseText local ns = title.nsText -- not if a subpage of [[Template:Navbox]] if base ~= 'Navbox' and -- in template ns ns == 'Template' and -- not a navbox group within a navbox not yesno(args.subgroup, false) and -- not a collapsible navbox within a navbox not yesno(args.collapsible, false) and -- not if the doc argument is not set to "yes" yesno(args.doc, false) then return frame:expandTemplate{ title = 'Navbox/doc' } else return '' end end -- -- Navbox method to allow it to be called by other modules -- -- @param _args {table} -- @return {string} -- function p._navbox( _args ) local args = {} local wkCss = '' local wkDiv = '' local j -- preserves parser function behaviour where an empty string is considered undefined -- or nil in lua's case for k, v in pairs( _args ) do if v ~= '' then args[k] = v end end local tbl = createTbl( args ) if not yesno(args.subgroup, false) then tbl = header( tbl, args ) end -- insert up to 25 rows for i = 1, 25 do j = tostring( i ) if args['group' .. j] then tbl = row( tbl, args['gtitle' .. j], args['group' .. j], args['gtype' .. j], args['style' .. j], args.name, args.subgroup ) else break end end if args.footer then tbl = footer( tbl, args ) end tbl = tostring( tbl ) local cats = '' if not yesno(args.subgroup, false) and not yesno(args.hidecat, false) then cats = categories() end local docs = docs( args ) return tbl .. cats .. docs end -- -- Main navbox method accessed through #invoke -- -- @param frame {table} -- @return {string} -- function p.navbox( frame ) local args = frame:getParent().args return p._navbox( args ) end return p -- </nowiki> b85e4b479ede98c0df765393cf4acba5c536b57a MediaWiki:Gadget-bsw-util.js 8 339 863 560 2024-03-23T14:20:55Z Habblet 11 javascript text/javascript (function ($, mw, bs) { 'use strict'; function createOOUIWindowManager() { if (window.OOUIWindowManager == undefined) { window.OOUIWindowManager = new OO.ui.WindowManager(); $( 'body' ).append( window.OOUIWindowManager.$element ); } return window.OOUIWindowManager; } /** * Reusable functions * * These are available under the `bswiki` global variable. * @example `bswiki.addCommas` * The alias `bs` is also available in place of `bswiki`. */ var util = { /** * Formats a number string with commas. * * @todo fully replace this with Number.protoype.toLocaleString * > 123456.78.toLocaleString('en') * * @example 123456.78 -> 123,456.78 * * @param num {Number|String} The number to format. * @return {String} The formated number. */ addCommas: function (num) { if (typeof num === 'number') { return num.toLocaleString('en'); } // @todo chuck this into parseFloat first and then to toLocaleString? num += ''; var x = num.split('.'), x1 = x[0], x2 = x.length > 1 ? '.' + x[1] : '', rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1,$2'); } return x1 + x2; }, /** * Extracts parameter-argument pairs from templates. * * @todo Fix for multiple templates * * @param tpl {String} Template to extract data from. * @param text {String} Text to look for template in. * @return {Object} Object containing parameter-argument pairs */ parseTemplate: function (tpl, text) { var rgx = new RegExp( '\\{\\{(template:)?' + tpl.replace(/[ _]/g, '[ _]') + '\\s*(\\||\\}\\})', 'i' ), exec = rgx.exec(text), // splits template into |arg=param or |param paramRgx = /\|(.*?(\{\{.+?\}\})?)(?=\s*\||$)/g, args = {}, params, i, j; // happens if the template is not found in the text if (exec === null) { return false; } text = text.substring(exec.index + 2); // used to account for nested templates j = 0; // this purposefully doesn't use regex // as it became very difficult to make it work properly for (i = 0; i < text.length; i += 1) { if (text[i] === '{') { j += 1; } else if (text[i] === '}') { if (j > 0) { j -= 1; } else { break; } } } // cut off where the template ends text = text.substring(0, i); // remove template name as we're not interested in it past this point text = text.substring(text.indexOf('|')).trim(); // separate params and args into an array params = text.match(paramRgx); // handle no params/args if (params !== null) { // used as an index for unnamed params i = 1; params.forEach(function (el) { var str = el.trim().substring(1), eq = str.indexOf('='), tpl = str.indexOf('{{'), param, val; // checks if the equals is after opening a template // to catch unnamed args that have templates with named args as params if (eq > -1 && (tpl === -1 || eq < tpl)) { param = str.substring(0, eq).trim().toLowerCase(); val = str.substring(eq + 1).trim(); } else { param = i; val = str.trim(); i += 1; } args[param] = val; }); } return args; }, /** * Helper for making cross domain requests to Brighter Shores's APIs. * If the APIs ever enable CORS, we can ditch this and do the lookup directly. * * @param url {string} The URL to look up * @param via {string} One of 'anyorigin', 'whateverorigin' or 'crossorigin'. Defaults to 'anyorigin'. * * @return {string} The URLto use to make the API request. */ crossDomain: function (url, via) { switch (via) { case 'crossorigin': url = 'http://crossorigin.me/' + url; break; case 'whateverorigin': url = 'http://whateverorigin.org/get?url=' + encodeURIComponent( url ) + '&callback=?'; break; case 'anyorigin': default: url = 'http://anyorigin.com/go/?url=' + encodeURIComponent( url ) + '&callback=?'; break; } return url; }, /** * Returns the OOUI window manager as a Promise. Will load OOUI (core and windows) and create the manager, if necessary. * * @return {jQuery.Deferred} A jQuery Promise where window.OOUIWindowManager is will be defined * Chaining a .then will pass OOUIWindowManager to the function argument */ withOOUIWindowManager: function() { return mw.loader.using(['oojs-ui-core','oojs-ui-windows']).then(createOOUIWindowManager); }, /** * Helper for creating and initializing a new OOUI Dialog object * After init, the window is added to the global Window Manager. * * Will automatically load OOUI (core and windows) and create the window manager, if necessary. window.OOUIWindowManager will be defined within this. * * @author Jayden * * @param name {string} The symbolic name of the window * @param title {string} The title of the window * @param winconfig {object} Object containing params for the OO.ui.Dialog obj * @param init {function} Function to be called to initialise the object * @param openNow {boolean} Whether the window should be opened instantly * @param autoClose {boolean} Autoclose when the user clicks outside of the modal * * @return {jquery.Deferred} The jQuery Promise returned by mw.loader.using * Chaining a .then will pass the created {OO.ui.Dialog} object as the function argument */ createOOUIWindow: function(name, title, winconfig, init, openNow, autoClose) { return mw.loader.using(['oojs-ui-core','oojs-ui-windows']).then(function(){ createOOUIWindowManager(); winconfig = winconfig || {}; function myModal( config ) { myModal.super.call( this, config ); } OO.inheritClass( myModal, OO.ui.Dialog ); myModal.static.name = name; myModal.static.title = title; myModal.prototype.initialize = function () { myModal.super.prototype.initialize.call( this ); init(this); } var modal = new myModal(winconfig); console.debug('Adding ' + myModal.static.name + ' to WindowManager'); window.OOUIWindowManager.addWindows( [ modal ] ); if (openNow) { window.OOUIWindowManager.openWindow(name); } if (autoClose) { $(document).on('click', function (e) { if (modal && modal.isVisible() && e.target.classList.contains('oo-ui-window-active')) { modal.close(); }; }); } return modal; }); }, /** * Helper for checking if the user's browser supports desktop notifications * @author Jayden */ canSendBrowserNotifs: function () { if (!("Notification" in window)) { console.warn("This browser does not support desktop notifications"); return false; } else { return true; } }, /** * Send a desktop/browser notification to a user, requires the page to be open * @author Jayden * * @param https://developer.mozilla.org/en-US/docs/Web/API/Notification/Notification * * @return Notification object or null */ sendBrowserNotif: function (title, opts) { if (bs.canSendBrowserNotifs == false) { return null; } Notification.requestPermission().then(function(result) { if (result === "granted") { console.debug('Firing desktop notification'); var notif = new Notification(title, opts); notif.onclick = function(e) { window.focus(); } return notif; } else { return null; } }); }, /** * Check if the browser has support for localStorage * @author Jayden * * @return boolean **/ hasLocalStorage: function() { try { localStorage.setItem('test', 'test') localStorage.removeItem('test') return true } catch (e) { return false } }, /** * Gets a query string parameter from given URL or current href * @author Jayden * * @return string or null **/ qsp: function(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, '\\$&'); var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, ' ')); }, /** * Get the URL for a file on the wiki, aganst the endpoint that is actually cached and fast. * Should probably not be used for images we expect to change frequently. * @author cookmeplox * * @return string **/ getFileURLCached: function(filename) { var base = window.location.origin; filename = filename.replace(/ /g,"_") filename = filename.replace(/\(/g, '%28').replace(/\)/g, '%29') var cb = '48781'; return base + '/images/' + filename + '?' + cb; }, isUsingStickyHeader: function() { return ($('body').hasClass('wgl-stickyheader')) } }; function init() { $.extend(bs, util, {}); // add bs as a global alias window.bs = bs; } init(); }(this.jQuery, this.mediaWiki, this.bswiki = this.bswiki || {})); c67f993a10439f5c9a9abca5480e464498116852 Module:Infobox 828 102 864 801 2024-03-23T14:23:09Z Gau Cho 5 Simplify the table_class param Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local Infobox = {} Infobox.__index = Infobox Infobox.__tostring = Infobox.tostring -- Edit button for unknown params local editbutton = require('Module:Edit button') local edit = editbutton("'''?''' (edit)") -- Page title local pagename = mw.title.getCurrentTitle().fullText -- map of flags to html tags used by Infobox.addRow() -- let's only define it once, since :addRow() is used multiple times per module local tagmap = { tr = 'tr', th = 'th', td = 'td', argh = 'th', argd = 'td' } --[=[ -- Standardized functions -- called as string with defineParams --]=] -- Standardized "has content" function function hasContent(arg, default) -- Return arg if any non-whitespace character is found return string.match(arg or '','%S') and arg or default end -- Standardized "name" function function subjectName(arg) return string.match(arg or '','%S') and arg or nil end -- Create a standardized release function, since so many pages use it -- Turns release and update into a single parameter function releaseUpdate(release, update) if not Infobox.isDefined(release) then return nil end if string.lower(release) == 'no' then return 'N/A' end if not Infobox.isDefined(update) then return string.format('%s (Update unknown)',release) end if string.lower(update) == 'no' then return release end return string.format('%s ([[Update:%s|Update]])', release, update) end -- Standardized image function function image(img) if img and img:find('%S') then return img else return nil end end -- Standardized numbers function numbers(num) num = string.gsub(num or '',',','') return tonumber(num) end -- map of names to pre-defined functions, used by Infobox:defineParams local func_map = { name = subjectName, release = { name = releaseUpdate, params = { 'release', 'update' }, flag = 'p' }, removal = { name = releaseUpdate, params = { 'removal', 'removalupdate' }, flag = 'p' }, has_content = hasContent, image = image, numbers = numbers, } -- used to fill nil params in switching sections -- this message isn't kidding -- If you see this message anywhere outside of this code -- (including inside switchfo box data) -- report it local nil_param = 'INFOBOX MODULE ERROR, PLEASE REPORT TO WIKI ADMIN' -- In case the nil_param is needed outside of this module -- give it an easy way to be accessed function Infobox.nilParam() return nil_param end -- switch infobox globals local LINE_WIDTH = 300 local MAX_LINES = 2 local DEFAULT_MAX_BUTTONS = 6 -- calculate with width of a switch infobox button -- potential @TODO: rework to use actual character widths function button_width(label) local PX_PER_CHAR = 6 local PX_PAD_MAR = 24 return string.len(label) * PX_PER_CHAR + PX_PAD_MAR end Infobox.splitpoint = '&&SPLITPOINT&&' -- quick test to see if a value is considered nil function Infobox.isDefined(arg) if arg == nil then return false end if type(arg) == 'string' then if arg == nil_param then return false elseif arg:find('%S') then if arg:find('action=edit') then return false else return true end else return false end end return true end --[[ Infobox class -- args : parameters from frame to pass through -- Sets a meta table and creates a <div> tag wrapper -- other fields are initialized in other functions --]] function Infobox.new(args) local obj = setmetatable({ args = args, -- parameters (uncleaned) rargs = {}, -- parameters (cleaned) params = {}, -- parameters mapped to functions paramnames = {}, -- parameter names dupeable = {}, -- parameters that are allowed to have duplicated switch data table_class = 'infobox', -- The base class of the infobox switchfo = false, -- switch infobox? or not? switchfoattr = {}, -- switch data class changes maxbuttons = DEFAULT_MAX_BUTTONS, -- maximum number of buttons before switching becomes a menu switch_tag = '', -- switchfo data switch_buttons_tag = '', -- switchfo buttons custom_buttons = false, smw_error_tag = '', rtable = nil, -- returned infobox table labels = nil, -- returned labels _smw = {}, -- semantic mediawiki data _smwOne = {}, -- semantic mediawiki data part 2 _smwSubobject = {}, -- semantic mediawiki data part 3 _smwSubobjectAppliesTo = nil, -- semantic mediawiki data part 3.5 _smwElement = {}, -- semantic mediawiki data part 4 setSMWElement = true, versions = -1, -- number of switch versions (-1 is uncalculated) infoboxname = nil, -- template name appendStrs = {}, bottomlinks = { -- template bottom links links = { { 'Template talk:%s', 'talk' }, { 'Template:%s', 'view' } }, colspan = 2 }, catdata = {}, -- meta category data catlist = {}, -- defined table of category names (strings) __finished = false, -- infobox status }, Infobox) return obj end --[[ Changes the class of the Infobox from 'infobox' to something else use before :create() --]] function Infobox:setClass(new_class) if type(arg) == 'string' then self.table_class = new_class end end --[[ Creates an infobox -- If Infobox:maxVersions() has not been run, it will be run here -- If the infobox should be a switch infobox, all labels will be added -- Creates a wikitable that will be the infobox THIS SHOULD BE DONE AFTER ADDING AND CLEANING PARAMETERS --]] function Infobox:create() -- Run to find if this is a switch infobox and if so, how many boxes if self.versions == -1 then self:maxVersion() end -- Run if switch infobox if self.switchfo then -- Buttons wrapper -- Hidden by default, unhidden by javascript self.switch_buttons_tag = mw.html.create('div') :addClass('infobox-buttons') -- default version to immediately switch to via js local defv = tonumber(self.args.defver) if defv and defv <= self.versions then -- you troll, don't try to show something that isn't there self.switch_buttons_tag:attr('data-default-version',defv) end local numlines = 1 local width_working = 0 local total_width = 0 local buttons = {} -- Add individual buttons to the wrapper for i=1,self.versions do local wid = button_width(self.labels[i] or i) width_working = width_working + wid total_width = total_width + wid if width_working > LINE_WIDTH then numlines = numlines + 1 width_working = wid end local b = mw.html.create('span') :attr('data-switch-index',tostring(i)) -- space to underscore :attr('data-switch-anchor','#'..string.gsub(self.labels[i] or i,' ','_')) :addClass('button') :wikitext(self.labels[i] or i) table.insert(buttons, {b, wid}) end local best = {-1, 100000} if (numlines > 1) and (numlines <= MAX_LINES) then -- attempt to balance line widths local w_s, w_e = 0,total_width for i = 1,#buttons-1 do w_s = w_s + buttons[i][2] w_e = w_e - buttons[i][2] if w_s > LINE_WIDTH then -- w_s only increases, so we're done once it exceeds the width break end if w_e <= LINE_WIDTH then -- w_e only decreases, so just continue if it exceeds line local diff = math.abs(w_s - w_e) if diff < best[2] then best = { i, diff } end end end if best[1] == -1 then best = { math.floor(#buttons/2), 100000 } end end for i,v in ipairs(buttons) do self.switch_buttons_tag:node(v[1]) if i == best[1] then self.switch_buttons_tag:tag('br') end end -- Used by JavaScript to turn the buttons into a menu list if too many variants if self.versions > self.maxbuttons or numlines > MAX_LINES then self.switch_buttons_tag:addClass('infobox-buttons-select') end self.switch_buttons_tag:done() end -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass(table_class) -- Add necessary class if switch infobox if self.switchfo then self.rtable:addClass('infobox-switch') end end -- Defines an infobox name ({{Template:arg}}) -- Used to create a link at the bottom of pages and for css function Infobox:defineName(arg) self.infoboxname = arg end -- Defines the bottom links of the infobox -- pass a table whose elements are tables that define a link and a label -- { -- { 'link', 'label }, -- ... -- } -- The template name can be substituted into the tables using '%s' -- If we wanted Template:InFooBar to link to it's /doc page with a "doc" label: -- { ... -- { 'Template:%s/doc', 'doc' }, -- ... } -- The template's name can only be called 5 times function Infobox:defineLinks(arg) if type(arg) == 'table' then if arg.colspan then self.bottomlinks.colspan = arg.colspan end if arg.links then if type(arg.links) == 'table' then self.bottomlinks.links = arg.links end end if arg.hide then self.bottomlinks.hide = arg.hide end end end -- Change max number of buttons before switching to menu -- defaults to 5 -- MUST BE RUN BEFORE :create() function Infobox:setMaxButtons(arg) -- if not a number, just go back to default self.maxbuttons = tonumber(arg) or DEFAULT_MAX_BUTTONS end --[[ Add parameters functions All parameters should be tables The first parameter defines the type of cell to create -- th : <th> -- td : <td> -- argh : <th> -- argd : <td> The second parameter defines what is inside the tag -- th | th : text passed -- argh | argd : parameter with the name passed Additional named parameters can be used to add any styling or attributes -- attr : mw.html:attr({ arg1 = '1', ... }) -- css : mw.html:css({ arg1 = '1', ...) -- class : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not -- rowspan : mw.html:attr('rowspan',arg) -- colspan : mw.html:attr('colspan',arg) -- title : mw.html:attr('title',arg) Example: ipsobox:addRow( { 'th' , 'Header', title = 'Title' }, { 'argh', 'arg1', class = 'parameter' } }) produces: <tr><th title="Title">Header</th><th class="parameter">args.arg1</th></tr> adding it to the infobox table of ipsobox Cells defined as 'argh' and 'argd' will automatically have data-attr-param="" added, and defined as the passed argument if the infobox in creation is defined as a switch infobox The row itself may be modified with metadata using the named index at "meta" -- meta.addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox.addRow(box, ...) -- New row to add local args = ... local _row = box.rtable:tag('tr') -- For each member of tags for i, v in ipairs(args) do -- map tag name to appropriate tag, default to <td> local _cell = _row:tag(tagmap[v.tag] or 'td') -- mw.html:attr() and mw.html:css() both accept table input -- colspan, rowspan, title will be quick ways to access attr -- these functions also do all the necessary work if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end -- if class is a string, it can be added directly -- if a table, add every value -- mw.html:addClass() doesn't function with tables -- so iterate over the class names here and add them individually if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- if the cell is a normal th or td, add the exact argument passed if v.tag == 'th' or v.tag == 'td' then _cell:wikitext(v.content) -- if defined with "arg", add the argument with name passed elseif v.tag == 'argh' or v.tag == 'argd' then local content = box.rargs[v.content] -- if the requested parameter doesn't exist whatsoever, just return a blank string if not content then content = '' -- If switches exist, first attempt to use the version1 values elseif content.switches then if content.switches[1] ~= nil_param then content = content.switches[1] or '' else content = content.d or '' end -- fallback to default value else content = content.d or '' end _cell:wikitext(content) -- add necessary attribute for switch infoboxes if box.switchfo then _cell:attr('data-attr-param',v.content) end end end -- not that meta -- allow classes to be defined on the whole row -- okay, sort of meta if args.meta then if args.meta.addClass then _row:addClass(args.meta.addClass) end end return box end function Infobox.customButtonPlacement(box,arg) box.custom_buttons = arg return box end function Infobox.addButtonsRow(box, args) if box.switchfo then box.custom_buttons = true local _row = box.rtable:tag('tr') :addClass('rsw-infobox-switch-buttons-row') :tag('td') :addClass('rsw-infobox-switch-buttons') :attr('colspan', args.colspan) :node(box.switch_buttons_tag) end return box end function Infobox.addButtonsCaption(box) if box.switchfo then box.custom_buttons = true local _row = box.rtable:tag('caption') :addClass('rsw-infobox-switch-buttons-caption') :node(box.switch_buttons_tag) end return box end --[[ -- adds a blank row of padding spanning the given number of columns --]] function Infobox.pad(box, colspan, class) local tr = box:tag('tr') :tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') :done() if class then tr:addClass(class) end tr:done() return box end --[[ -- functions the same as mw.html:wikitext() on the wrapper -- Should only be used for categories really --]] function Infobox.wikitext(box, arg) box.rtable:wikitext(arg) return box end --[[ -- Adds the specified item(s) to the end of the infobox, outside of the table -- items are concatenated together with an empty space --]] function Infobox.append(box, ...) for i,v in ipairs({...}) do table.insert(box.appendStrs, v) end return box end --[[ -- Adds a caption to the infobox -- defaults to the pagename -- or the default argument if defined --]] function Infobox.caption(box) -- default to the article's name local name = pagename -- first see if the name parameter exists if box.rargs.name then -- then try the default if box.rargs.name.d then name = box.rargs.name.d -- then look for swithes elseif box.rargs.name.switches then -- then look at version 1 if box.rargs.name.switches[1] ~= nil_param then name = box.rargs.name.switches[1] end end end local caption = box.rtable:tag('caption') :wikitext(name) -- add necessary attribute for switch infoboxes if box.switchfo then caption:attr('data-attr-param','name') end return box end --[[ -- Functions for styling the infobox -- works the same as the respective mw.html functions --]] -- attr function Infobox.attr(box, arg) box.rtable:attr(arg) return box end -- css function Infobox.float(box,float) box.rtable:css('float',float) return box end function Infobox.css(box, ...) box.rtable:css(...) return box end -- addClass function Infobox.addClass(box, arg) box.rtable:addClass(arg) return box end -- Much like Infobox.addClass, but adds multiple classes function Infobox.addClasses(box, ...) for _, v in ipairs(...) do box.rtable:addClass(box) end return box end --[[ Add tags directly to the infobox table Use sparingly Returns the tag created rather than the entire box Which is an mw.html object Further uses of :tag() will be mw.html.tag, rather than Infobox.tag As such, Infobox:addRow() cannot be used afterwards without restating the infobox as the object --]] function Infobox.tag(box, arg) return box.rtable:tag(arg) end --[[ Allows the infobox to use Semantic Media Wiki and give parameters properties Pass a table to this function to map parameter names to properties Calling syntax: -- {{#show:page|?property}}: -- "<property>" - unqualified and without a number will display the default value -- "<property#>" - with a number will show the switch data from that index -- "all <property>" - adding all will display every unique value in a comma separated list Properties initiated in Infobox:finish() --]] function Infobox:useSMW(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smw[w] = v end end end --[[ As above, but only assigns to "<property>", which will act like "all <property>" - "<property>#" not present Properties initiated in Infobox:finish() --]] function Infobox:useSMWOne(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smwOne[w] = v end end end --[[ Set up the infobox to set properties in a SMW subobject. This will create a subobject for each version - if there is only one version, it will put the properties directly on to the page, like useSMWOne Properties initiated in Infobox:finish() --]] function Infobox:useSMWSubobject(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smwSubobject[w] = v end end end function Infobox:useSMWElement(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smwElement[w] = v end self.setSMWElement = true end end --[[ Finishing function -- Finishes the return, adding necessary final tags --]] function Infobox:finish() local onmain = mw.title.getCurrentTitle().namespace == 0 -- Don't finish twice if self.__finished then return end -- Add switch infobox resources --if self.switchfo then self.rtable:attr('data-resource-class', '.infobox-resources-'..string.gsub(tostring(self.infoboxname), ' ', '_')) -- Wrapper tag, hidden self.switch_tag = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..string.gsub(tostring(self.infoboxname), ' ', '_')) :addClass('hidden') for _, v in ipairs(self.paramnames) do local param = self.rargs[v] local default_value = param.d or edit -- Parameters may not have any switches data, those are ignored local switchattr = self.switchfoattr[v] -- Parameter data wrapper local res_span = self.switch_tag:tag('span') :attr('data-attr-param',v) -- Child for default value local def = res_span:tag('span') :attr('data-attr-index',0) :wikitext(tostring(default_value)) -- Switch classes if switchattr then def:attr('data-addclass',switchattr.d) end def:done() if param.switches then -- Add all switches, ignore those defined as nil for i, w in ipairs(param.switches) do if w ~= nil_param and w ~= nil and w ~= default_value then local _w = res_span:tag('span') :attr('data-attr-index',i) :wikitext(tostring(w)) -- Switch classes if switchattr then _w:attr('data-addclass',switchattr.switches[i]) end _w:done() end end res_span:done() end end -- Add a tracking category for mainspace pages that have more than 1 version if onmain then if self.versions > 1 then -- version count data self.switch_tag:tag('span') :wikitext(string.format('Versions: [[Version count::%s]]',self.versions)) :done() self.switch_tag:wikitext('[[Category:Pages that contain switch infobox data]]') end end self.switch_tag:done() --end -- smw data if onmain then -- members smw display, yes --> true; no --> false; other --> unknown local function smwMembers(smw_arg) local smw_argv = string.lower(smw_arg or '') if smw_argv == 'yes' then return 'true' elseif smw_argv == 'no' then return 'false' else return 'unknown' end end -- release date smw display local function smwRelease(smw_arg) local _d,_m,_y = string.match(smw_arg or '', '%[%[(%d%d?) (%a+)%]%] %[%[(%d%d%d%d)%]%]') if _d == nil then return nil end return table.concat({_d,_m,_y},' ') end -- default, just return the text local function smwDefault(smw_arg) if smw_arg ~= nil_param and smw_arg ~= edit then return smw_arg else return 'unknown' end end local smw_to_func = { members = smwMembers, release = smwRelease, removal = smwRelease, default = smwDefault } local smw_data_arr = {} -- custom properties for w, v in pairs(self._smw) do -- only needed to give special formatting to release -- and to make members true/false local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local _arg = curarg.d local argdefault = _arg if _arg == edit then argdefault = 'unknown' else local _x = mw.text.split(tostring(_arg), Infobox.splitpoint, true) if not smw_data_arr[v] then smw_data_arr[v] = {} end if not smw_data_arr['All '..v] then smw_data_arr['All '..v] = {} end for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) table.insert(smw_data_arr[v], temp_smw_data) table.insert(smw_data_arr['All '..v], temp_smw_data) end end if curarg.switches then local _args = {} for _, x in ipairs(curarg.switches) do if x ~= nil_param then table.insert(_args,x) else table.insert(_args,argdefault or nil_param) end end for i, x in ipairs(_args) do local _x = mw.text.split(tostring(x), Infobox.splitpoint, true) if not smw_data_arr[v..i] then smw_data_arr[v..i] = {} end if not smw_data_arr['All '..v] then smw_data_arr['All '..v] = {} end for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) table.insert(smw_data_arr[v..i], temp_smw_data) table.insert(smw_data_arr['All '..v], temp_smw_data) end end end end end -- if one version, put smwSubobject into smwOne and just do that if self.versions < 2 and not self._smwSubobjectAppliesTo then for w,v in pairs(self._smwSubobject) do if not self._smwOne[w] then self._smwOne[w] = v elseif type(self._smwOne[w]) == 'table' then table.insert(self._smwOne[w], v) else self._smwOne[w] = { self._smwOne[w], v } end end end for w, _v in pairs(self._smwOne) do -- only needed to give special formatting to release -- and to make members true/false local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local _arg = curarg.d local argdefault = _arg if _arg == edit then argdefault = 'unknown' end if curarg.switches then local _args = {} for _, x in ipairs(curarg.switches) do if x ~= nil_param then table.insert(_args,x) else table.insert(_args,argdefault or nil_param) end end for i, x in ipairs(_args) do local _x = mw.text.split(tostring(x), Infobox.splitpoint, true) for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) for _,v in ipairs(type(_v) == 'table' and _v or {_v}) do if not smw_data_arr[v] then smw_data_arr[v] = {} end table.insert(smw_data_arr[v], temp_smw_data) end end end else if Infobox.isDefined(_arg) then local _targ = mw.text.split(tostring(_arg), Infobox.splitpoint, true) for _,y in ipairs(_targ) do local temp_smw_data = smwfunc(y) for _,v in ipairs(type(_v) == 'table' and _v or {_v}) do if not smw_data_arr[v] then smw_data_arr[v] = {} end table.insert(smw_data_arr[v], temp_smw_data) end end end end end end local smw_data_arr_elem = {} for w, v in pairs(self._smwElement) do -- only needed to give special formatting to release -- and to make members true/false local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local _arg = curarg.d local argdefault = _arg if _arg == edit then argdefault = 'unknown' end if curarg.switches then local _args = {} for _, x in ipairs(curarg.switches) do if x ~= nil_param then table.insert(_args,x) else table.insert(_args,argdefault or nil_param) end end for i, x in ipairs(_args) do if Infobox.isDefined(x) then local _x = mw.text.split(tostring(x), Infobox.splitpoint, true) for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) if not smw_data_arr_elem[v] then smw_data_arr_elem[v] = {} end table.insert(smw_data_arr_elem[v], temp_smw_data) end end end else if Infobox.isDefined(_arg) then local _targ = mw.text.split(tostring(_arg), Infobox.splitpoint, true) for _,y in ipairs(_targ) do local temp_smw_data = smwfunc(y) if not smw_data_arr_elem[v] then smw_data_arr_elem[v] = {} end table.insert(smw_data_arr_elem[v], temp_smw_data) end end end end end -- if is a switchfo, setup for subobjects local smw_data_arr_subobj = {} if self._smwSubobjectAppliesTo then for i,k in ipairs(self._smwSubobjectAppliesTo) do local subobj_data = { ['Is variant of'] = {pagename}, } for w,v in pairs(self._smwSubobject) do local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local argval = curarg.d if curarg.switches then argval = curarg.switches[i] if not Infobox.isDefined(argval) then argval = curarg.d end end if Infobox.isDefined(argval) then local _x = mw.text.split(tostring(argval), Infobox.splitpoint, true) for _, _x1 in ipairs(_x) do _x1 = smwfunc(_x1) if _x1 ~= 'unknown' then if not subobj_data[v] then subobj_data[v] = {} end table.insert(subobj_data[v], _x1) end end end end end for w,v in ipairs(k) do local subobj_name = v -- can't have a . in the first 5 characters of a subobject identifier if mw.ustring.find(mw.ustring.sub(subobj_name,0,5), '%.') then self:wikitext('[[Category:Pages with an invalid subobject name]]') subobj_name = mw.ustring.gsub(subobj_name, '%.', '') end if subobj_name == '0' or subobj_name == '' then self:wikitext('[[Category:Pages with an invalid subobject name]]') subobj_name = 'v_'..subobj_name end smw_data_arr_subobj[subobj_name] = subobj_data end end end local res = mw.smw.set(smw_data_arr) local res_subobj = true for w,v in pairs(smw_data_arr_subobj) do res_subobj = mw.smw.subobject(v, w) if not res_subobj == true then break end end if not (res == true and res_subobj == true) then self.smw_error_tag = mw.html.create('div'):css('display','none'):addClass('infobox-smw-data') if not res == true then self.smw_error_tag:tag('div'):wikitext('Error setting SMW properties: '+res.error):done() end if not res_subobj == true then self.smw_error_tag:tag('div'):wikitext('Error setting SMW subobject properties: '+res_subobj.error):done() end end if self.setSMWElement then if self.smw_error_tag == '' then self.smw_error_tag = mw.html.create('div'):css('display','none'):addClass('infobox-smw-data') end for i,v in pairs(smw_data_arr_elem) do for j,k in ipairs(v) do if k ~= 'unknown' then self.smw_error_tag:tag('span'):wikitext(mw.ustring.format('%s: [[%s::%s]]', i,i,k )) end end end end if self._smwSubobjectAppliesTo then if self.smw_error_tag == '' then self.smw_error_tag = mw.html.create('div'):css('display','none'):addClass('infobox-smw-data') end for w,v in pairs(smw_data_arr_subobj) do local subobjdiv = self.smw_error_tag:tag('div') subobjdiv:tag('span'):wikitext('SMW Subobject for '..w) for j,k in pairs(v) do subobjdiv:tag('span'):wikitext(mw.ustring.format('%s: %s', j, table.concat(k, ', '))) end end end end -- Add view and talk links to infobox -- Only done if a name is defined if self.infoboxname and not self.bottomlinks.hide then local bottom_links = {} for _, v in ipairs(self.bottomlinks.links) do table.insert(bottom_links, string.format( table.concat({'[[', v[1], '|', v[2], ']]'}), self.infoboxname, self.infoboxname, self.infoboxname, self.infoboxname, self.infoboxname) ) end bottom_links = table.concat(bottom_links,' &bull; ') self.rtable:tag('tr'):tag('td') :addClass('infobox-template-links') :attr('colspan', self.bottomlinks.colspan) :wikitext(bottom_links) :done() end -- Define as finished self.__finished = true end --[[ Function for defining parameters -- name : parameter name -- func : function to define param, defaults to looking at blanks DO NOT DEFINE VERSION HERE USE :maxVersion() Can be used any number of times for efficient definition --]] function Infobox:defineParams(...) for _, v in ipairs(...) do -- For every parameter, store its corresponding function to self.params if v.name then -- If the value is a function or a table (which should define a function) if type(v.func) == 'function' or type(v.func) == 'table' then self.params[v.name] = v.func -- If the value is a string, use the predefined Infobox function of that name elseif type(v.func) == 'string' then self.params[v.name] = func_map[v.func] or hasContent -- Everything else just looks for blanks else self.params[v.name] = hasContent() end -- Create a list of all param names table.insert(self.paramnames,v.name) -- function to allow duplicated values if v.dupes then self.dupeable[v.name] = true end end end end --[[ -- Forces an infobox to only use 1 variant -- Mainly used by lite infoboxes -- This should be run before creation --]] function Infobox:noSwitch() self.versions = 1 self.switchfo = false end --[[ -- Calculates the max version -- Adds labels -- Sees if this needs to be a switch infobox -- Returns extra version count (even if already run) -- Sets the smw subobject names from version or smwname --]] function Infobox.maxVersion(box) -- Only allowed to run once if box.versions ~= -1 then return box.versions end box.labels = {} box.versions = 0 local smwappliesto = {} -- Look for up to 125 variants, defined in order for i=1, 125 do -- If variant# exists if box.args['version'..i] then -- Increase version count box.versions = box.versions + 1 -- Add its label local label = box.args['version'..i] or ('Version '..i) table.insert(box.labels,label) -- add to appliesto if box.args['smwname'..i] then table.insert(smwappliesto, mw.text.split(box.args['smwname'..i], '¦')) else table.insert(smwappliesto, {label}) end else -- Stop if it doesn't exist break end end -- Define self as a switch infobox if at least 1 other version is found if box.versions > 0 then box.switchfo = true box._smwSubobjectAppliesTo = smwappliesto else -- single version, check for appliesto if box.args['smwname'] then box._smwSubobjectAppliesTo = {mw.text.split(box.args['smwname'], '¦')} end end -- versions calculated return box.versions end --[[ -- Cleans parameters as defined by the above function -- SHOULD NOT BE RUN UNTIL ALL THINGS ARE DEFINED -- Handles switches as well -- adds table _add to rargs, a cleaned up version of arguments -- d : default value -- switches : table of switches (in numerical order) -- Functions can be defined with tables ---- name : name of function ---- params : table of args to pass to functions ---- flag : flags for input d | #default : use the cleaned parameter first, otherwise passed p : use the passed value of parameters r | l : use raw (literal) text, rather than values -- Defining a single flag will use that flag on all parameters -- Defining a table of flags will use the respective flag by position --]] function Infobox:cleanParams() -- map of flags to functionality local flagmap = { r = 'r', l = 'r', d = 'd', p = 'p' } -- For all parameters named for _, v in ipairs(self.paramnames) do -- Parameter to add local _add = {} local catdata = { all_defined = true, one_defined = false } -- If the value of params is a function if type(self.params[v]) == 'function' then -- Perform that function with the parameter _add.d = self.params[v](self.args[v]) -- If it's a table, parse it into a function elseif type(self.params[v]) == 'table' then -- Find the functions name local func = self.params[v].name if type(func) == 'string' then func = func_map[func] end -- catch all if type(func) ~= 'function' then func = has_content end -- Recreate table of args and flags local func_args = {} local flag = {} -- If the flags are NOT a table, turn them into a table -- Same size as the parameter table -- Every flag will be the same if type(self.params[v].flag) ~= 'table' then -- Map flags, if unmapped, use default local _flag = flagmap[self.params[v].flag] or 'd' -- recreate table for x=1,#self.params[v].params do table.insert(flag,_flag) end -- If flags are already a table, recreate them in new table elseif type(self.params[v].flag) == 'table' then local _flag = self.params[v].flag -- recreate table for x=1,#self.params[v].params do -- Map flags, if unmapped, use default table.insert(flag,flagmap[_flag[x]] or 'd') end end -- Recreate param table, parsing flags as instructions for x, w in ipairs(self.params[v].params) do local xarg -- By default or defined as 'd' -- looks for the cleaned value of the named parameter first -- if it doesn't exist, look at the passed value next -- if that doesn't exist, use blank if flag[x] == 'd' then xarg = self.rargs[w] and self.rargs[w].d -- compare to nil explicitly because false is a valid value if xarg == nil then xarg = self.args[w] or '' end -- Look only at the passed value of the named parameter -- if that doesn't exist, use blank elseif flag[x] == 'p' then xarg = self.args[w] or '' -- Don't interpret value as a parameter name, and paste the as is elseif flag[x] == 'r' then xarg = w end -- Add parsed argument to table table.insert(func_args,xarg) end -- Run function _add.d = func(unpack(func_args)) end if _add.d == nil or _add.d == nil_param then -- have to do pagename defaults here to prevent weird behaviour with switch values if v == 'name' then _add.d = pagename else _add.d = edit end catdata.all_defined = false else --_add.d is not nil catdata.one_defined = true end if self.switchfo then -- Table of switches values and count of them local _add_switch = {} local switches = 0 -- Look for up to the maximum number for i=1, self.versions do local _addarg -- see if this param is allowed to have switch if v ~= 'image' and v ~= 'examine' and string.find(self.args[v..i] or '','%$%d') then local refi = string.match(self.args[v..i],'%$(%d+)') _addarg = _add_switch[tonumber(refi)] or nil_param else -- If the value of params is a function if type(self.params[v]) == 'function' then -- Perform that function with the parameter at that index _addarg = self.params[v](self.args[v..i]) -- If it's a table, parse it into a function elseif type(self.params[v]) == 'table' then -- Find the functions name local func = self.params[v].name if type(func) == 'string' then func = func_map[func] end -- catch all if type(func) ~= 'function' then func = has_content end -- Recreate table of args and flags local func_args = {} local flag = {} -- If the flags are NOT a table, turn them into a table -- Same size as the parameter table -- Every flag will be the same if type(self.params[v].flag) ~= 'table' then -- Map flags, if unmapped, use default local _flag = flagmap[self.params[v].flag] or 'd' -- recreate table for x=1,#self.params[v].params do table.insert(flag,_flag) end -- If flags are already a table, recreate them in new table elseif type(self.params[v].flag) == 'table' then local _flag = self.params[v].flag -- recreate table for x=1,#self.params[v].params do -- Map flags, if unmapped, use default table.insert(flag,flagmap[_flag[x]] or 'd') end end -- Recreate param table, parsing flags as instructions for x, w in ipairs(self.params[v].params) do local xarg -- By default or defined as 'd' -- looks for the cleaned value of the named parameter first -- if it doesn't exist, look at the passed value next -- if that doesn't exist, look at the default -- if that doesn't exist, use blank if flag[x] == 'd' then if self.rargs[w] then if self.rargs[w].switches then xarg = self.rargs[w].switches[i] else xarg = self.args[w..i] end if xarg == nil or xarg == nil_param then xarg = self.rargs[w].d end end -- multiple catches in a row just to cover everything if xarg == nil or xarg == nil_param then xarg = self.args[w..i] end if xarg == nil or xarg == edit or xarg == nil_param then xarg = self.args[w] end if xarg == nil or xarg == edit or xarg == nil_param then xarg = '' end -- Look only at the passed value of the named parameter -- if that doesn't exist, use unnumbered parameter -- if that doesn't exist, use blank elseif flag[x] == 'p' then xarg = self.args[w..i] or self.args[w] or '' -- Don't interpret value as a parameter name, and paste the as is elseif flag[x] == 'r' then xarg = w end -- Add parsed argument to table table.insert(func_args,xarg) end -- Run function _addarg = func(unpack(func_args)) end end -- If not defined, add the nil_param value -- An actual nil would cause errors in placement -- So it needs to be filled with an actual value -- "nil_param" is understood as nil in other functions -- Include table in case parameter isn't defined by template if _addarg == nil or _addarg == nil_param then table.insert(_add_switch, nil_param) else switches = switches + 1 table.insert(_add_switch, _addarg) catdata.one_defined = true end end -- If there are actually other values to switch to -- Define a switches subtable, otherwise ignore it if switches > 0 then _add.switches = _add_switch end end -- Quick fix for names (which defaults to pagename) if v == 'name' then if _add.d == pagename then if _add.switches and _add.switches[1] ~= pagename and _add.switches[1] ~= nil_param then _add.d = _add.switches[1] end end end -- Parameter cleaning finished, add to table of cleaned args self.rargs[v] = _add -- Category metadata -- If every param except default is defined, all_defined = true if catdata.all_defined == false then if _add.d == edit then if _add.switches then catdata.all_defined = true for _, v in ipairs(_add.switches) do if v == nil_param then catdata.all_defined = false break end end end end end self.catdata[v] = catdata end -- mass dupe removal -- this needs to be done at the end to keep dependent parameters working -- also removes incompatible data types for _, v in ipairs(self.paramnames) do -- not removed from dupe enabled params parameters if not self.dupeable[v] and self.rargs[v] and self.rargs[v].switches then -- tells us whether or not we'll need to remove the switch data -- switched to false if a switch values does not match the default local rmvswitch = true for q, z in ipairs(self.rargs[v].switches) do -- remove types that don't turn into strings properly if type(z) == 'table' or type(z) == 'function' then self.rargs[v].switches[q] = nil_param -- if it isn't nil or an edit button -- change variable to keep the switch data elseif z ~= nil_param and z ~= edit then rmvswitch = false end end -- remove switch data if everything was a dupe if rmvswitch then self.rargs[v].switches = nil end end end -- Title parentheses (has to be done here, sadly) local _name if self.rargs.name then _name = self.rargs.name.d -- replace html entities to their actual character _name = mw.text.decode(_name) -- if the page name matches the item name, don't add parentheses if _name == mw.title.getCurrentTitle().fullText then self.rtable:addClass('no-parenthesis-style') end end end --[[ Function to link internal use parameters with JS class attribution -- self:linkParams{ { arg1, arg2 }, ... { arg1a, arg2a } } -- arg1: parameter name being linked -- arg2: parameter name that holds the classes -- THIS FUNCTION SHOULD BE RUN AFTER :cleanParams() -- THIS FUNCTION SHOULD BE RUN BEFORE :finish() -- The second argument's data should always contain a value (a CSS class name) at every index -- This function is cancelled for non switch boxes --]] function Infobox:linkParams(...) if not self.switchfo then return end for _, v in ipairs(...) do self.switchfoattr[v[1]] = self.rargs[v[2]] end end --[==========================================[ -- Functions for accessing parameters easily --]==========================================] --[[ Access the param -- arg : param name -- retp : return type d | #default : self.rargs[arg].d -- Default value f | full : self.rargs[arg] -- Entire table s | switches : self.rargs[arg].switches -- Entire switch table s# : self.rargs[arg].switches[#] -- Single switch value at index # r : switches[1] or d --]] function Infobox:param(arg, retp) -- All parameters if arg == 'all' then return self.rargs end -- case-insensitive flagging retp = tostring(retp):lower() local fmap = { d = 'd', default = 'd', s0 = 'd', -- let s-naught count as default (since that's what it is) f = 'f', full = 'f', s = 's', switch = 's', switches = 's', r = 'r' } local ret_func -- quickly see if the parameter is a value greater than 0 if retp:match('s[1-9]') then ret_func = 's2' else -- Otherwise map it to the correct flag, or the default ret_func = fmap[retp] or fmap.d end -- Fetch parameter local param = self.rargs[arg] -- Return nil if no table found if not param then return nil end -- Return default if ret_func == 'd' then return param.d end -- Return full table if ret_func == 'f' then return param end -- Return switch table if ret_func == 's' then return param.switches end -- Return the first switch, otherwise the default if ret_func == 'r' then if not param.switches then return param.d elseif param.switches[1] == nil_param then return param.d else return param.switches[1] end end -- If s2, reread the param if ret_func == 's2' then -- no switches if not param.switches then return nil end -- Parse index by removing the s local index = retp:match('s(%d+)') -- nil_param if param.switches[index] == nil_param then return nil else return param.switches[index] end end end --[[ Checks if a parameter is defined and not blank -- arg : parameter to look at -- index : index of switches to look at (defaults to default param) -- defining 'all' will look at every possible value for the parameter --]] function Infobox:paramDefined(arg,index) -- Can use cleaned params for switches -- but need the passed to identify blanks in the template local param = self.rargs[arg] local _arg = self.args[arg] if string.find(_arg or '','%?action=edit') then _arg = '' end index = index or 0 local ret -- create a long strong of every value to test for things if 'all' if string.lower(index) == 'all' then return self.catdata[arg] and (self.catdata[arg].one_defined or self.catdata[arg].all_defined) -- index to number otherwise else index = tonumber(index) or 0 if index == 0 then if param.switches then if Infobox.isDefined(param.switches[1]) then ret = param.switches[1] else ret = _arg end else ret = _arg end else if not param.switches then return nil end if param.switches[index] == nil_param then return nil end ret = param.switches[index] end end return tostring(ret or ''):find('%S') end --[[ Function to perform a search on all parameters of a defined name -- param: param name -- val: a value or function -- functions passed must return either true or false -- with true being counted as a match --]] function Infobox:paramGrep(param,val) local arg = self.rargs[param] -- if no parameters, return nil if not arg then return nil end local ret local valtype = type(val) -- start with the default value -- if it's a function, run it if valtype == 'function' then ret = val(arg.d) -- true means it matched if ret == true then return ret end -- switches up here for functions if arg.switches then for _, v in ipairs(arg.switches) do ret = val(v) if ret == true then return true end end end -- if it's just a value, compare the two -- only run if types match to avoid errors -- compare switches later elseif valtype == type(arg.d) then -- if a string, make case insensitive if valtype == 'string' then if string.lower(val) == string.lower(arg.d) then return true end -- everything else just test directly elseif val == arg.d then return true end end -- switch cases -- more organized putting them here if arg.switches then for _, v in ipairs(arg.switches) do if valtype == type(v) then if valtype == 'string' then if val:lower() == v:lower() then return true end elseif val == v then return true end end end end -- return false in every other case return false end ------ function Infobox.paramRead(arg,val) -- if no parameters, return nil if not arg then return nil end local ret local valtype = type(val) -- start with the default value -- if it's a function, run it if valtype == 'function' then ret = val(arg.d) -- true means it matched if ret == true then return ret end -- switches up here for functions if arg.switches then for _, v in ipairs(arg.switches) do ret = val(v) if ret == true then return true end end end -- if it's just a value, compare the two -- only run if types match to avoid errors -- compare switches later elseif valtype == type(arg.d) then -- if a string, make case insensitive if valtype == 'string' then if string.lower(val) == string.lower(arg.d) then return true end -- everything else just test directly elseif val == arg.d then return true end end -- switch cases -- more organized putting them here if arg.switches then for _, v in ipairs(arg.switches) do if valtype == type(v) then if valtype == 'string' then if val:lower() == v:lower() then return true end elseif val == v then return true end end end end -- return false in every other case return false end ---- -- Return collected category data function Infobox:categoryData() return self.catdata end -- Override tostring function Infobox.tostring(box) -- If not finished, finish if not box.__finished then box:finish() end -- Make entire html wrapper a string and return it local btns = box.switch_buttons_tag if box.custom_buttons then btns = '' end if box.args.__dump__ then return '<' .. 'pre>'..mw.dumpObject(box) .. '</' .. 'pre>[[Category:Dumping infoboxes]]' end return tostring(btns) .. tostring(box.rtable) .. table.concat(box.appendStrs, '') .. tostring(box.switch_tag) .. tostring(box.smw_error_tag) end return Infobox -- </nowiki> 05a784cb90f58f63a02a7fce84a7d25e6561ae8e 866 864 2024-03-23T14:24:21Z Gau Cho 5 Remove the bottomlinks feature - disabled in 100% of RSC/OSRS Templates and 75% of RS3 templates Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local Infobox = {} Infobox.__index = Infobox Infobox.__tostring = Infobox.tostring -- Edit button for unknown params local editbutton = require('Module:Edit button') local edit = editbutton("'''?''' (edit)") -- Page title local pagename = mw.title.getCurrentTitle().fullText -- map of flags to html tags used by Infobox.addRow() -- let's only define it once, since :addRow() is used multiple times per module local tagmap = { tr = 'tr', th = 'th', td = 'td', argh = 'th', argd = 'td' } --[=[ -- Standardized functions -- called as string with defineParams --]=] -- Standardized "has content" function function hasContent(arg, default) -- Return arg if any non-whitespace character is found return string.match(arg or '','%S') and arg or default end -- Standardized "name" function function subjectName(arg) return string.match(arg or '','%S') and arg or nil end -- Create a standardized release function, since so many pages use it -- Turns release and update into a single parameter function releaseUpdate(release, update) if not Infobox.isDefined(release) then return nil end if string.lower(release) == 'no' then return 'N/A' end if not Infobox.isDefined(update) then return string.format('%s (Update unknown)',release) end if string.lower(update) == 'no' then return release end return string.format('%s ([[Update:%s|Update]])', release, update) end -- Standardized image function function image(img) if img and img:find('%S') then return img else return nil end end -- Standardized numbers function numbers(num) num = string.gsub(num or '',',','') return tonumber(num) end -- map of names to pre-defined functions, used by Infobox:defineParams local func_map = { name = subjectName, release = { name = releaseUpdate, params = { 'release', 'update' }, flag = 'p' }, removal = { name = releaseUpdate, params = { 'removal', 'removalupdate' }, flag = 'p' }, has_content = hasContent, image = image, numbers = numbers, } -- used to fill nil params in switching sections -- this message isn't kidding -- If you see this message anywhere outside of this code -- (including inside switchfo box data) -- report it local nil_param = 'INFOBOX MODULE ERROR, PLEASE REPORT TO WIKI ADMIN' -- In case the nil_param is needed outside of this module -- give it an easy way to be accessed function Infobox.nilParam() return nil_param end -- switch infobox globals local LINE_WIDTH = 300 local MAX_LINES = 2 local DEFAULT_MAX_BUTTONS = 6 -- calculate with width of a switch infobox button -- potential @TODO: rework to use actual character widths function button_width(label) local PX_PER_CHAR = 6 local PX_PAD_MAR = 24 return string.len(label) * PX_PER_CHAR + PX_PAD_MAR end Infobox.splitpoint = '&&SPLITPOINT&&' -- quick test to see if a value is considered nil function Infobox.isDefined(arg) if arg == nil then return false end if type(arg) == 'string' then if arg == nil_param then return false elseif arg:find('%S') then if arg:find('action=edit') then return false else return true end else return false end end return true end --[[ Infobox class -- args : parameters from frame to pass through -- Sets a meta table and creates a <div> tag wrapper -- other fields are initialized in other functions --]] function Infobox.new(args) local obj = setmetatable({ args = args, -- parameters (uncleaned) rargs = {}, -- parameters (cleaned) params = {}, -- parameters mapped to functions paramnames = {}, -- parameter names dupeable = {}, -- parameters that are allowed to have duplicated switch data table_class = 'infobox', -- The base class of the infobox switchfo = false, -- switch infobox? or not? switchfoattr = {}, -- switch data class changes maxbuttons = DEFAULT_MAX_BUTTONS, -- maximum number of buttons before switching becomes a menu switch_tag = '', -- switchfo data switch_buttons_tag = '', -- switchfo buttons custom_buttons = false, smw_error_tag = '', rtable = nil, -- returned infobox table labels = nil, -- returned labels _smw = {}, -- semantic mediawiki data _smwOne = {}, -- semantic mediawiki data part 2 _smwSubobject = {}, -- semantic mediawiki data part 3 _smwSubobjectAppliesTo = nil, -- semantic mediawiki data part 3.5 _smwElement = {}, -- semantic mediawiki data part 4 setSMWElement = true, versions = -1, -- number of switch versions (-1 is uncalculated) infoboxname = nil, -- template name appendStrs = {}, catdata = {}, -- meta category data catlist = {}, -- defined table of category names (strings) __finished = false, -- infobox status }, Infobox) return obj end --[[ Changes the class of the Infobox from 'infobox' to something else use before :create() --]] function Infobox:setClass(new_class) if type(arg) == 'string' then self.table_class = new_class end end --[[ Creates an infobox -- If Infobox:maxVersions() has not been run, it will be run here -- If the infobox should be a switch infobox, all labels will be added -- Creates a wikitable that will be the infobox THIS SHOULD BE DONE AFTER ADDING AND CLEANING PARAMETERS --]] function Infobox:create() -- Run to find if this is a switch infobox and if so, how many boxes if self.versions == -1 then self:maxVersion() end -- Run if switch infobox if self.switchfo then -- Buttons wrapper -- Hidden by default, unhidden by javascript self.switch_buttons_tag = mw.html.create('div') :addClass('infobox-buttons') -- default version to immediately switch to via js local defv = tonumber(self.args.defver) if defv and defv <= self.versions then -- you troll, don't try to show something that isn't there self.switch_buttons_tag:attr('data-default-version',defv) end local numlines = 1 local width_working = 0 local total_width = 0 local buttons = {} -- Add individual buttons to the wrapper for i=1,self.versions do local wid = button_width(self.labels[i] or i) width_working = width_working + wid total_width = total_width + wid if width_working > LINE_WIDTH then numlines = numlines + 1 width_working = wid end local b = mw.html.create('span') :attr('data-switch-index',tostring(i)) -- space to underscore :attr('data-switch-anchor','#'..string.gsub(self.labels[i] or i,' ','_')) :addClass('button') :wikitext(self.labels[i] or i) table.insert(buttons, {b, wid}) end local best = {-1, 100000} if (numlines > 1) and (numlines <= MAX_LINES) then -- attempt to balance line widths local w_s, w_e = 0,total_width for i = 1,#buttons-1 do w_s = w_s + buttons[i][2] w_e = w_e - buttons[i][2] if w_s > LINE_WIDTH then -- w_s only increases, so we're done once it exceeds the width break end if w_e <= LINE_WIDTH then -- w_e only decreases, so just continue if it exceeds line local diff = math.abs(w_s - w_e) if diff < best[2] then best = { i, diff } end end end if best[1] == -1 then best = { math.floor(#buttons/2), 100000 } end end for i,v in ipairs(buttons) do self.switch_buttons_tag:node(v[1]) if i == best[1] then self.switch_buttons_tag:tag('br') end end -- Used by JavaScript to turn the buttons into a menu list if too many variants if self.versions > self.maxbuttons or numlines > MAX_LINES then self.switch_buttons_tag:addClass('infobox-buttons-select') end self.switch_buttons_tag:done() end -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass(table_class) -- Add necessary class if switch infobox if self.switchfo then self.rtable:addClass('infobox-switch') end end -- Defines an infobox name ({{Template:arg}}) -- Used to create a link at the bottom of pages and for css function Infobox:defineName(arg) self.infoboxname = arg end -- Change max number of buttons before switching to menu -- defaults to 5 -- MUST BE RUN BEFORE :create() function Infobox:setMaxButtons(arg) -- if not a number, just go back to default self.maxbuttons = tonumber(arg) or DEFAULT_MAX_BUTTONS end --[[ Add parameters functions All parameters should be tables The first parameter defines the type of cell to create -- th : <th> -- td : <td> -- argh : <th> -- argd : <td> The second parameter defines what is inside the tag -- th | th : text passed -- argh | argd : parameter with the name passed Additional named parameters can be used to add any styling or attributes -- attr : mw.html:attr({ arg1 = '1', ... }) -- css : mw.html:css({ arg1 = '1', ...) -- class : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not -- rowspan : mw.html:attr('rowspan',arg) -- colspan : mw.html:attr('colspan',arg) -- title : mw.html:attr('title',arg) Example: ipsobox:addRow( { 'th' , 'Header', title = 'Title' }, { 'argh', 'arg1', class = 'parameter' } }) produces: <tr><th title="Title">Header</th><th class="parameter">args.arg1</th></tr> adding it to the infobox table of ipsobox Cells defined as 'argh' and 'argd' will automatically have data-attr-param="" added, and defined as the passed argument if the infobox in creation is defined as a switch infobox The row itself may be modified with metadata using the named index at "meta" -- meta.addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox.addRow(box, ...) -- New row to add local args = ... local _row = box.rtable:tag('tr') -- For each member of tags for i, v in ipairs(args) do -- map tag name to appropriate tag, default to <td> local _cell = _row:tag(tagmap[v.tag] or 'td') -- mw.html:attr() and mw.html:css() both accept table input -- colspan, rowspan, title will be quick ways to access attr -- these functions also do all the necessary work if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end -- if class is a string, it can be added directly -- if a table, add every value -- mw.html:addClass() doesn't function with tables -- so iterate over the class names here and add them individually if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- if the cell is a normal th or td, add the exact argument passed if v.tag == 'th' or v.tag == 'td' then _cell:wikitext(v.content) -- if defined with "arg", add the argument with name passed elseif v.tag == 'argh' or v.tag == 'argd' then local content = box.rargs[v.content] -- if the requested parameter doesn't exist whatsoever, just return a blank string if not content then content = '' -- If switches exist, first attempt to use the version1 values elseif content.switches then if content.switches[1] ~= nil_param then content = content.switches[1] or '' else content = content.d or '' end -- fallback to default value else content = content.d or '' end _cell:wikitext(content) -- add necessary attribute for switch infoboxes if box.switchfo then _cell:attr('data-attr-param',v.content) end end end -- not that meta -- allow classes to be defined on the whole row -- okay, sort of meta if args.meta then if args.meta.addClass then _row:addClass(args.meta.addClass) end end return box end function Infobox.customButtonPlacement(box,arg) box.custom_buttons = arg return box end function Infobox.addButtonsRow(box, args) if box.switchfo then box.custom_buttons = true local _row = box.rtable:tag('tr') :addClass('rsw-infobox-switch-buttons-row') :tag('td') :addClass('rsw-infobox-switch-buttons') :attr('colspan', args.colspan) :node(box.switch_buttons_tag) end return box end function Infobox.addButtonsCaption(box) if box.switchfo then box.custom_buttons = true local _row = box.rtable:tag('caption') :addClass('rsw-infobox-switch-buttons-caption') :node(box.switch_buttons_tag) end return box end --[[ -- adds a blank row of padding spanning the given number of columns --]] function Infobox.pad(box, colspan, class) local tr = box:tag('tr') :tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') :done() if class then tr:addClass(class) end tr:done() return box end --[[ -- functions the same as mw.html:wikitext() on the wrapper -- Should only be used for categories really --]] function Infobox.wikitext(box, arg) box.rtable:wikitext(arg) return box end --[[ -- Adds the specified item(s) to the end of the infobox, outside of the table -- items are concatenated together with an empty space --]] function Infobox.append(box, ...) for i,v in ipairs({...}) do table.insert(box.appendStrs, v) end return box end --[[ -- Adds a caption to the infobox -- defaults to the pagename -- or the default argument if defined --]] function Infobox.caption(box) -- default to the article's name local name = pagename -- first see if the name parameter exists if box.rargs.name then -- then try the default if box.rargs.name.d then name = box.rargs.name.d -- then look for swithes elseif box.rargs.name.switches then -- then look at version 1 if box.rargs.name.switches[1] ~= nil_param then name = box.rargs.name.switches[1] end end end local caption = box.rtable:tag('caption') :wikitext(name) -- add necessary attribute for switch infoboxes if box.switchfo then caption:attr('data-attr-param','name') end return box end --[[ -- Functions for styling the infobox -- works the same as the respective mw.html functions --]] -- attr function Infobox.attr(box, arg) box.rtable:attr(arg) return box end -- css function Infobox.float(box,float) box.rtable:css('float',float) return box end function Infobox.css(box, ...) box.rtable:css(...) return box end -- addClass function Infobox.addClass(box, arg) box.rtable:addClass(arg) return box end -- Much like Infobox.addClass, but adds multiple classes function Infobox.addClasses(box, ...) for _, v in ipairs(...) do box.rtable:addClass(box) end return box end --[[ Add tags directly to the infobox table Use sparingly Returns the tag created rather than the entire box Which is an mw.html object Further uses of :tag() will be mw.html.tag, rather than Infobox.tag As such, Infobox:addRow() cannot be used afterwards without restating the infobox as the object --]] function Infobox.tag(box, arg) return box.rtable:tag(arg) end --[[ Allows the infobox to use Semantic Media Wiki and give parameters properties Pass a table to this function to map parameter names to properties Calling syntax: -- {{#show:page|?property}}: -- "<property>" - unqualified and without a number will display the default value -- "<property#>" - with a number will show the switch data from that index -- "all <property>" - adding all will display every unique value in a comma separated list Properties initiated in Infobox:finish() --]] function Infobox:useSMW(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smw[w] = v end end end --[[ As above, but only assigns to "<property>", which will act like "all <property>" - "<property>#" not present Properties initiated in Infobox:finish() --]] function Infobox:useSMWOne(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smwOne[w] = v end end end --[[ Set up the infobox to set properties in a SMW subobject. This will create a subobject for each version - if there is only one version, it will put the properties directly on to the page, like useSMWOne Properties initiated in Infobox:finish() --]] function Infobox:useSMWSubobject(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smwSubobject[w] = v end end end function Infobox:useSMWElement(arg) if type(arg) == 'table' then for w, v in pairs(arg) do self._smwElement[w] = v end self.setSMWElement = true end end --[[ Finishing function -- Finishes the return, adding necessary final tags --]] function Infobox:finish() local onmain = mw.title.getCurrentTitle().namespace == 0 -- Don't finish twice if self.__finished then return end -- Add switch infobox resources --if self.switchfo then self.rtable:attr('data-resource-class', '.infobox-resources-'..string.gsub(tostring(self.infoboxname), ' ', '_')) -- Wrapper tag, hidden self.switch_tag = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..string.gsub(tostring(self.infoboxname), ' ', '_')) :addClass('hidden') for _, v in ipairs(self.paramnames) do local param = self.rargs[v] local default_value = param.d or edit -- Parameters may not have any switches data, those are ignored local switchattr = self.switchfoattr[v] -- Parameter data wrapper local res_span = self.switch_tag:tag('span') :attr('data-attr-param',v) -- Child for default value local def = res_span:tag('span') :attr('data-attr-index',0) :wikitext(tostring(default_value)) -- Switch classes if switchattr then def:attr('data-addclass',switchattr.d) end def:done() if param.switches then -- Add all switches, ignore those defined as nil for i, w in ipairs(param.switches) do if w ~= nil_param and w ~= nil and w ~= default_value then local _w = res_span:tag('span') :attr('data-attr-index',i) :wikitext(tostring(w)) -- Switch classes if switchattr then _w:attr('data-addclass',switchattr.switches[i]) end _w:done() end end res_span:done() end end -- Add a tracking category for mainspace pages that have more than 1 version if onmain then if self.versions > 1 then -- version count data self.switch_tag:tag('span') :wikitext(string.format('Versions: [[Version count::%s]]',self.versions)) :done() self.switch_tag:wikitext('[[Category:Pages that contain switch infobox data]]') end end self.switch_tag:done() --end -- smw data if onmain then -- members smw display, yes --> true; no --> false; other --> unknown local function smwMembers(smw_arg) local smw_argv = string.lower(smw_arg or '') if smw_argv == 'yes' then return 'true' elseif smw_argv == 'no' then return 'false' else return 'unknown' end end -- release date smw display local function smwRelease(smw_arg) local _d,_m,_y = string.match(smw_arg or '', '%[%[(%d%d?) (%a+)%]%] %[%[(%d%d%d%d)%]%]') if _d == nil then return nil end return table.concat({_d,_m,_y},' ') end -- default, just return the text local function smwDefault(smw_arg) if smw_arg ~= nil_param and smw_arg ~= edit then return smw_arg else return 'unknown' end end local smw_to_func = { members = smwMembers, release = smwRelease, removal = smwRelease, default = smwDefault } local smw_data_arr = {} -- custom properties for w, v in pairs(self._smw) do -- only needed to give special formatting to release -- and to make members true/false local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local _arg = curarg.d local argdefault = _arg if _arg == edit then argdefault = 'unknown' else local _x = mw.text.split(tostring(_arg), Infobox.splitpoint, true) if not smw_data_arr[v] then smw_data_arr[v] = {} end if not smw_data_arr['All '..v] then smw_data_arr['All '..v] = {} end for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) table.insert(smw_data_arr[v], temp_smw_data) table.insert(smw_data_arr['All '..v], temp_smw_data) end end if curarg.switches then local _args = {} for _, x in ipairs(curarg.switches) do if x ~= nil_param then table.insert(_args,x) else table.insert(_args,argdefault or nil_param) end end for i, x in ipairs(_args) do local _x = mw.text.split(tostring(x), Infobox.splitpoint, true) if not smw_data_arr[v..i] then smw_data_arr[v..i] = {} end if not smw_data_arr['All '..v] then smw_data_arr['All '..v] = {} end for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) table.insert(smw_data_arr[v..i], temp_smw_data) table.insert(smw_data_arr['All '..v], temp_smw_data) end end end end end -- if one version, put smwSubobject into smwOne and just do that if self.versions < 2 and not self._smwSubobjectAppliesTo then for w,v in pairs(self._smwSubobject) do if not self._smwOne[w] then self._smwOne[w] = v elseif type(self._smwOne[w]) == 'table' then table.insert(self._smwOne[w], v) else self._smwOne[w] = { self._smwOne[w], v } end end end for w, _v in pairs(self._smwOne) do -- only needed to give special formatting to release -- and to make members true/false local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local _arg = curarg.d local argdefault = _arg if _arg == edit then argdefault = 'unknown' end if curarg.switches then local _args = {} for _, x in ipairs(curarg.switches) do if x ~= nil_param then table.insert(_args,x) else table.insert(_args,argdefault or nil_param) end end for i, x in ipairs(_args) do local _x = mw.text.split(tostring(x), Infobox.splitpoint, true) for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) for _,v in ipairs(type(_v) == 'table' and _v or {_v}) do if not smw_data_arr[v] then smw_data_arr[v] = {} end table.insert(smw_data_arr[v], temp_smw_data) end end end else if Infobox.isDefined(_arg) then local _targ = mw.text.split(tostring(_arg), Infobox.splitpoint, true) for _,y in ipairs(_targ) do local temp_smw_data = smwfunc(y) for _,v in ipairs(type(_v) == 'table' and _v or {_v}) do if not smw_data_arr[v] then smw_data_arr[v] = {} end table.insert(smw_data_arr[v], temp_smw_data) end end end end end end local smw_data_arr_elem = {} for w, v in pairs(self._smwElement) do -- only needed to give special formatting to release -- and to make members true/false local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local _arg = curarg.d local argdefault = _arg if _arg == edit then argdefault = 'unknown' end if curarg.switches then local _args = {} for _, x in ipairs(curarg.switches) do if x ~= nil_param then table.insert(_args,x) else table.insert(_args,argdefault or nil_param) end end for i, x in ipairs(_args) do if Infobox.isDefined(x) then local _x = mw.text.split(tostring(x), Infobox.splitpoint, true) for _,y in ipairs(_x) do local temp_smw_data = smwfunc(y) if not smw_data_arr_elem[v] then smw_data_arr_elem[v] = {} end table.insert(smw_data_arr_elem[v], temp_smw_data) end end end else if Infobox.isDefined(_arg) then local _targ = mw.text.split(tostring(_arg), Infobox.splitpoint, true) for _,y in ipairs(_targ) do local temp_smw_data = smwfunc(y) if not smw_data_arr_elem[v] then smw_data_arr_elem[v] = {} end table.insert(smw_data_arr_elem[v], temp_smw_data) end end end end end -- if is a switchfo, setup for subobjects local smw_data_arr_subobj = {} if self._smwSubobjectAppliesTo then for i,k in ipairs(self._smwSubobjectAppliesTo) do local subobj_data = { ['Is variant of'] = {pagename}, } for w,v in pairs(self._smwSubobject) do local smwfunc = smw_to_func[w] or smw_to_func.default local curarg = self.rargs[w] if curarg then local argval = curarg.d if curarg.switches then argval = curarg.switches[i] if not Infobox.isDefined(argval) then argval = curarg.d end end if Infobox.isDefined(argval) then local _x = mw.text.split(tostring(argval), Infobox.splitpoint, true) for _, _x1 in ipairs(_x) do _x1 = smwfunc(_x1) if _x1 ~= 'unknown' then if not subobj_data[v] then subobj_data[v] = {} end table.insert(subobj_data[v], _x1) end end end end end for w,v in ipairs(k) do local subobj_name = v -- can't have a . in the first 5 characters of a subobject identifier if mw.ustring.find(mw.ustring.sub(subobj_name,0,5), '%.') then self:wikitext('[[Category:Pages with an invalid subobject name]]') subobj_name = mw.ustring.gsub(subobj_name, '%.', '') end if subobj_name == '0' or subobj_name == '' then self:wikitext('[[Category:Pages with an invalid subobject name]]') subobj_name = 'v_'..subobj_name end smw_data_arr_subobj[subobj_name] = subobj_data end end end local res = mw.smw.set(smw_data_arr) local res_subobj = true for w,v in pairs(smw_data_arr_subobj) do res_subobj = mw.smw.subobject(v, w) if not res_subobj == true then break end end if not (res == true and res_subobj == true) then self.smw_error_tag = mw.html.create('div'):css('display','none'):addClass('infobox-smw-data') if not res == true then self.smw_error_tag:tag('div'):wikitext('Error setting SMW properties: '+res.error):done() end if not res_subobj == true then self.smw_error_tag:tag('div'):wikitext('Error setting SMW subobject properties: '+res_subobj.error):done() end end if self.setSMWElement then if self.smw_error_tag == '' then self.smw_error_tag = mw.html.create('div'):css('display','none'):addClass('infobox-smw-data') end for i,v in pairs(smw_data_arr_elem) do for j,k in ipairs(v) do if k ~= 'unknown' then self.smw_error_tag:tag('span'):wikitext(mw.ustring.format('%s: [[%s::%s]]', i,i,k )) end end end end if self._smwSubobjectAppliesTo then if self.smw_error_tag == '' then self.smw_error_tag = mw.html.create('div'):css('display','none'):addClass('infobox-smw-data') end for w,v in pairs(smw_data_arr_subobj) do local subobjdiv = self.smw_error_tag:tag('div') subobjdiv:tag('span'):wikitext('SMW Subobject for '..w) for j,k in pairs(v) do subobjdiv:tag('span'):wikitext(mw.ustring.format('%s: %s', j, table.concat(k, ', '))) end end end end -- Define as finished self.__finished = true end --[[ Function for defining parameters -- name : parameter name -- func : function to define param, defaults to looking at blanks DO NOT DEFINE VERSION HERE USE :maxVersion() Can be used any number of times for efficient definition --]] function Infobox:defineParams(...) for _, v in ipairs(...) do -- For every parameter, store its corresponding function to self.params if v.name then -- If the value is a function or a table (which should define a function) if type(v.func) == 'function' or type(v.func) == 'table' then self.params[v.name] = v.func -- If the value is a string, use the predefined Infobox function of that name elseif type(v.func) == 'string' then self.params[v.name] = func_map[v.func] or hasContent -- Everything else just looks for blanks else self.params[v.name] = hasContent() end -- Create a list of all param names table.insert(self.paramnames,v.name) -- function to allow duplicated values if v.dupes then self.dupeable[v.name] = true end end end end --[[ -- Forces an infobox to only use 1 variant -- Mainly used by lite infoboxes -- This should be run before creation --]] function Infobox:noSwitch() self.versions = 1 self.switchfo = false end --[[ -- Calculates the max version -- Adds labels -- Sees if this needs to be a switch infobox -- Returns extra version count (even if already run) -- Sets the smw subobject names from version or smwname --]] function Infobox.maxVersion(box) -- Only allowed to run once if box.versions ~= -1 then return box.versions end box.labels = {} box.versions = 0 local smwappliesto = {} -- Look for up to 125 variants, defined in order for i=1, 125 do -- If variant# exists if box.args['version'..i] then -- Increase version count box.versions = box.versions + 1 -- Add its label local label = box.args['version'..i] or ('Version '..i) table.insert(box.labels,label) -- add to appliesto if box.args['smwname'..i] then table.insert(smwappliesto, mw.text.split(box.args['smwname'..i], '¦')) else table.insert(smwappliesto, {label}) end else -- Stop if it doesn't exist break end end -- Define self as a switch infobox if at least 1 other version is found if box.versions > 0 then box.switchfo = true box._smwSubobjectAppliesTo = smwappliesto else -- single version, check for appliesto if box.args['smwname'] then box._smwSubobjectAppliesTo = {mw.text.split(box.args['smwname'], '¦')} end end -- versions calculated return box.versions end --[[ -- Cleans parameters as defined by the above function -- SHOULD NOT BE RUN UNTIL ALL THINGS ARE DEFINED -- Handles switches as well -- adds table _add to rargs, a cleaned up version of arguments -- d : default value -- switches : table of switches (in numerical order) -- Functions can be defined with tables ---- name : name of function ---- params : table of args to pass to functions ---- flag : flags for input d | #default : use the cleaned parameter first, otherwise passed p : use the passed value of parameters r | l : use raw (literal) text, rather than values -- Defining a single flag will use that flag on all parameters -- Defining a table of flags will use the respective flag by position --]] function Infobox:cleanParams() -- map of flags to functionality local flagmap = { r = 'r', l = 'r', d = 'd', p = 'p' } -- For all parameters named for _, v in ipairs(self.paramnames) do -- Parameter to add local _add = {} local catdata = { all_defined = true, one_defined = false } -- If the value of params is a function if type(self.params[v]) == 'function' then -- Perform that function with the parameter _add.d = self.params[v](self.args[v]) -- If it's a table, parse it into a function elseif type(self.params[v]) == 'table' then -- Find the functions name local func = self.params[v].name if type(func) == 'string' then func = func_map[func] end -- catch all if type(func) ~= 'function' then func = has_content end -- Recreate table of args and flags local func_args = {} local flag = {} -- If the flags are NOT a table, turn them into a table -- Same size as the parameter table -- Every flag will be the same if type(self.params[v].flag) ~= 'table' then -- Map flags, if unmapped, use default local _flag = flagmap[self.params[v].flag] or 'd' -- recreate table for x=1,#self.params[v].params do table.insert(flag,_flag) end -- If flags are already a table, recreate them in new table elseif type(self.params[v].flag) == 'table' then local _flag = self.params[v].flag -- recreate table for x=1,#self.params[v].params do -- Map flags, if unmapped, use default table.insert(flag,flagmap[_flag[x]] or 'd') end end -- Recreate param table, parsing flags as instructions for x, w in ipairs(self.params[v].params) do local xarg -- By default or defined as 'd' -- looks for the cleaned value of the named parameter first -- if it doesn't exist, look at the passed value next -- if that doesn't exist, use blank if flag[x] == 'd' then xarg = self.rargs[w] and self.rargs[w].d -- compare to nil explicitly because false is a valid value if xarg == nil then xarg = self.args[w] or '' end -- Look only at the passed value of the named parameter -- if that doesn't exist, use blank elseif flag[x] == 'p' then xarg = self.args[w] or '' -- Don't interpret value as a parameter name, and paste the as is elseif flag[x] == 'r' then xarg = w end -- Add parsed argument to table table.insert(func_args,xarg) end -- Run function _add.d = func(unpack(func_args)) end if _add.d == nil or _add.d == nil_param then -- have to do pagename defaults here to prevent weird behaviour with switch values if v == 'name' then _add.d = pagename else _add.d = edit end catdata.all_defined = false else --_add.d is not nil catdata.one_defined = true end if self.switchfo then -- Table of switches values and count of them local _add_switch = {} local switches = 0 -- Look for up to the maximum number for i=1, self.versions do local _addarg -- see if this param is allowed to have switch if v ~= 'image' and v ~= 'examine' and string.find(self.args[v..i] or '','%$%d') then local refi = string.match(self.args[v..i],'%$(%d+)') _addarg = _add_switch[tonumber(refi)] or nil_param else -- If the value of params is a function if type(self.params[v]) == 'function' then -- Perform that function with the parameter at that index _addarg = self.params[v](self.args[v..i]) -- If it's a table, parse it into a function elseif type(self.params[v]) == 'table' then -- Find the functions name local func = self.params[v].name if type(func) == 'string' then func = func_map[func] end -- catch all if type(func) ~= 'function' then func = has_content end -- Recreate table of args and flags local func_args = {} local flag = {} -- If the flags are NOT a table, turn them into a table -- Same size as the parameter table -- Every flag will be the same if type(self.params[v].flag) ~= 'table' then -- Map flags, if unmapped, use default local _flag = flagmap[self.params[v].flag] or 'd' -- recreate table for x=1,#self.params[v].params do table.insert(flag,_flag) end -- If flags are already a table, recreate them in new table elseif type(self.params[v].flag) == 'table' then local _flag = self.params[v].flag -- recreate table for x=1,#self.params[v].params do -- Map flags, if unmapped, use default table.insert(flag,flagmap[_flag[x]] or 'd') end end -- Recreate param table, parsing flags as instructions for x, w in ipairs(self.params[v].params) do local xarg -- By default or defined as 'd' -- looks for the cleaned value of the named parameter first -- if it doesn't exist, look at the passed value next -- if that doesn't exist, look at the default -- if that doesn't exist, use blank if flag[x] == 'd' then if self.rargs[w] then if self.rargs[w].switches then xarg = self.rargs[w].switches[i] else xarg = self.args[w..i] end if xarg == nil or xarg == nil_param then xarg = self.rargs[w].d end end -- multiple catches in a row just to cover everything if xarg == nil or xarg == nil_param then xarg = self.args[w..i] end if xarg == nil or xarg == edit or xarg == nil_param then xarg = self.args[w] end if xarg == nil or xarg == edit or xarg == nil_param then xarg = '' end -- Look only at the passed value of the named parameter -- if that doesn't exist, use unnumbered parameter -- if that doesn't exist, use blank elseif flag[x] == 'p' then xarg = self.args[w..i] or self.args[w] or '' -- Don't interpret value as a parameter name, and paste the as is elseif flag[x] == 'r' then xarg = w end -- Add parsed argument to table table.insert(func_args,xarg) end -- Run function _addarg = func(unpack(func_args)) end end -- If not defined, add the nil_param value -- An actual nil would cause errors in placement -- So it needs to be filled with an actual value -- "nil_param" is understood as nil in other functions -- Include table in case parameter isn't defined by template if _addarg == nil or _addarg == nil_param then table.insert(_add_switch, nil_param) else switches = switches + 1 table.insert(_add_switch, _addarg) catdata.one_defined = true end end -- If there are actually other values to switch to -- Define a switches subtable, otherwise ignore it if switches > 0 then _add.switches = _add_switch end end -- Quick fix for names (which defaults to pagename) if v == 'name' then if _add.d == pagename then if _add.switches and _add.switches[1] ~= pagename and _add.switches[1] ~= nil_param then _add.d = _add.switches[1] end end end -- Parameter cleaning finished, add to table of cleaned args self.rargs[v] = _add -- Category metadata -- If every param except default is defined, all_defined = true if catdata.all_defined == false then if _add.d == edit then if _add.switches then catdata.all_defined = true for _, v in ipairs(_add.switches) do if v == nil_param then catdata.all_defined = false break end end end end end self.catdata[v] = catdata end -- mass dupe removal -- this needs to be done at the end to keep dependent parameters working -- also removes incompatible data types for _, v in ipairs(self.paramnames) do -- not removed from dupe enabled params parameters if not self.dupeable[v] and self.rargs[v] and self.rargs[v].switches then -- tells us whether or not we'll need to remove the switch data -- switched to false if a switch values does not match the default local rmvswitch = true for q, z in ipairs(self.rargs[v].switches) do -- remove types that don't turn into strings properly if type(z) == 'table' or type(z) == 'function' then self.rargs[v].switches[q] = nil_param -- if it isn't nil or an edit button -- change variable to keep the switch data elseif z ~= nil_param and z ~= edit then rmvswitch = false end end -- remove switch data if everything was a dupe if rmvswitch then self.rargs[v].switches = nil end end end -- Title parentheses (has to be done here, sadly) local _name if self.rargs.name then _name = self.rargs.name.d -- replace html entities to their actual character _name = mw.text.decode(_name) -- if the page name matches the item name, don't add parentheses if _name == mw.title.getCurrentTitle().fullText then self.rtable:addClass('no-parenthesis-style') end end end --[[ Function to link internal use parameters with JS class attribution -- self:linkParams{ { arg1, arg2 }, ... { arg1a, arg2a } } -- arg1: parameter name being linked -- arg2: parameter name that holds the classes -- THIS FUNCTION SHOULD BE RUN AFTER :cleanParams() -- THIS FUNCTION SHOULD BE RUN BEFORE :finish() -- The second argument's data should always contain a value (a CSS class name) at every index -- This function is cancelled for non switch boxes --]] function Infobox:linkParams(...) if not self.switchfo then return end for _, v in ipairs(...) do self.switchfoattr[v[1]] = self.rargs[v[2]] end end --[==========================================[ -- Functions for accessing parameters easily --]==========================================] --[[ Access the param -- arg : param name -- retp : return type d | #default : self.rargs[arg].d -- Default value f | full : self.rargs[arg] -- Entire table s | switches : self.rargs[arg].switches -- Entire switch table s# : self.rargs[arg].switches[#] -- Single switch value at index # r : switches[1] or d --]] function Infobox:param(arg, retp) -- All parameters if arg == 'all' then return self.rargs end -- case-insensitive flagging retp = tostring(retp):lower() local fmap = { d = 'd', default = 'd', s0 = 'd', -- let s-naught count as default (since that's what it is) f = 'f', full = 'f', s = 's', switch = 's', switches = 's', r = 'r' } local ret_func -- quickly see if the parameter is a value greater than 0 if retp:match('s[1-9]') then ret_func = 's2' else -- Otherwise map it to the correct flag, or the default ret_func = fmap[retp] or fmap.d end -- Fetch parameter local param = self.rargs[arg] -- Return nil if no table found if not param then return nil end -- Return default if ret_func == 'd' then return param.d end -- Return full table if ret_func == 'f' then return param end -- Return switch table if ret_func == 's' then return param.switches end -- Return the first switch, otherwise the default if ret_func == 'r' then if not param.switches then return param.d elseif param.switches[1] == nil_param then return param.d else return param.switches[1] end end -- If s2, reread the param if ret_func == 's2' then -- no switches if not param.switches then return nil end -- Parse index by removing the s local index = retp:match('s(%d+)') -- nil_param if param.switches[index] == nil_param then return nil else return param.switches[index] end end end --[[ Checks if a parameter is defined and not blank -- arg : parameter to look at -- index : index of switches to look at (defaults to default param) -- defining 'all' will look at every possible value for the parameter --]] function Infobox:paramDefined(arg,index) -- Can use cleaned params for switches -- but need the passed to identify blanks in the template local param = self.rargs[arg] local _arg = self.args[arg] if string.find(_arg or '','%?action=edit') then _arg = '' end index = index or 0 local ret -- create a long strong of every value to test for things if 'all' if string.lower(index) == 'all' then return self.catdata[arg] and (self.catdata[arg].one_defined or self.catdata[arg].all_defined) -- index to number otherwise else index = tonumber(index) or 0 if index == 0 then if param.switches then if Infobox.isDefined(param.switches[1]) then ret = param.switches[1] else ret = _arg end else ret = _arg end else if not param.switches then return nil end if param.switches[index] == nil_param then return nil end ret = param.switches[index] end end return tostring(ret or ''):find('%S') end --[[ Function to perform a search on all parameters of a defined name -- param: param name -- val: a value or function -- functions passed must return either true or false -- with true being counted as a match --]] function Infobox:paramGrep(param,val) local arg = self.rargs[param] -- if no parameters, return nil if not arg then return nil end local ret local valtype = type(val) -- start with the default value -- if it's a function, run it if valtype == 'function' then ret = val(arg.d) -- true means it matched if ret == true then return ret end -- switches up here for functions if arg.switches then for _, v in ipairs(arg.switches) do ret = val(v) if ret == true then return true end end end -- if it's just a value, compare the two -- only run if types match to avoid errors -- compare switches later elseif valtype == type(arg.d) then -- if a string, make case insensitive if valtype == 'string' then if string.lower(val) == string.lower(arg.d) then return true end -- everything else just test directly elseif val == arg.d then return true end end -- switch cases -- more organized putting them here if arg.switches then for _, v in ipairs(arg.switches) do if valtype == type(v) then if valtype == 'string' then if val:lower() == v:lower() then return true end elseif val == v then return true end end end end -- return false in every other case return false end ------ function Infobox.paramRead(arg,val) -- if no parameters, return nil if not arg then return nil end local ret local valtype = type(val) -- start with the default value -- if it's a function, run it if valtype == 'function' then ret = val(arg.d) -- true means it matched if ret == true then return ret end -- switches up here for functions if arg.switches then for _, v in ipairs(arg.switches) do ret = val(v) if ret == true then return true end end end -- if it's just a value, compare the two -- only run if types match to avoid errors -- compare switches later elseif valtype == type(arg.d) then -- if a string, make case insensitive if valtype == 'string' then if string.lower(val) == string.lower(arg.d) then return true end -- everything else just test directly elseif val == arg.d then return true end end -- switch cases -- more organized putting them here if arg.switches then for _, v in ipairs(arg.switches) do if valtype == type(v) then if valtype == 'string' then if val:lower() == v:lower() then return true end elseif val == v then return true end end end end -- return false in every other case return false end ---- -- Return collected category data function Infobox:categoryData() return self.catdata end -- Override tostring function Infobox.tostring(box) -- If not finished, finish if not box.__finished then box:finish() end -- Make entire html wrapper a string and return it local btns = box.switch_buttons_tag if box.custom_buttons then btns = '' end if box.args.__dump__ then return '<' .. 'pre>'..mw.dumpObject(box) .. '</' .. 'pre>[[Category:Dumping infoboxes]]' end return tostring(btns) .. tostring(box.rtable) .. table.concat(box.appendStrs, '') .. tostring(box.switch_tag) .. tostring(box.smw_error_tag) end return Infobox -- </nowiki> f3dcc28411c15daa10f3d01733027d046eaee018 Factions 0 72 865 819 2024-03-23T14:23:10Z Merds 25 /* Factions */ wikitext text/x-wiki [[File:Factions.jpg|thumb|right|Examples of the three factions.]] '''Factions''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. ==Factions== * The [[Cryoknight]] ([[File:Cryoknight icon.svg|18px]]) faction is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]]. * [[Guardian]]s ([[File:Guardian icon.svg|18px]]) use ranged combat, preferring to wield weapons like [[crossbow]]s. * The [[Hammermage]] ([[File:Hammermage icon.svg|18px]]) faction fights using a mix of melee and magic. {{Factions}} {{Mechanics}} d46b23770133a17edc23d4714a666d2117a3560a Module:Infobox/doc 828 504 867 2024-03-23T14:26:48Z Gau Cho 5 Imported documentation, removed bottomLinks/defineLinks wikitext text/x-wiki {{documentation}} {{ToC|right}} ==Creating a template step-by-step== ===Import Module:Infobox=== <syntaxhighlight lang="lua"> local infobox = require('Module:Infobox') </syntaxhighlight> ===Unpack the frame arguments=== <syntaxhighlight lang="lua"> function p.main(frame) local args = frame:getParent().args ... </syntaxhighlight> ===Define an Infobox object=== {{Main|Module:Infobox#new}} <syntaxhighlight lang="lua"> local ret = infobox.new(args) </syntaxhighlight> ===Map your arguments to functions=== {{Main|Module:Infobox#defineParams}} <syntaxhighlight lang="lua"> ret:defineParams { ... } </syntaxhighlight> ===Parse your arguments=== {{Main|Module:Infobox#cleanParams}} <syntaxhighlight lang="lua"> ret:cleanParams() </syntaxhighlight> ===Initialise your HTML=== {{Main|Module:Infobox#create}} <syntaxhighlight lang="lua"> ret:create() </syntaxhighlight> ===Name your infobox=== {{Main|Module:Infobox#defineName}} <syntaxhighlight lang="lua"> -- note: we don't use the "Template:" namespace prefix ret:defineName('Infobox FooBar') </syntaxhighlight> ===Give your infobox custom behaviour=== {{Main|Module:Infobox#addClass|Module:Infobox#useSMW|Module:Infobox#defineLinks}} <syntaxhighlight lang="lua"> ret:addClass(...) ret:useSMW({ ... }) </syntaxhighlight> ===Give your infobox a caption=== {{Main|Module:Infobox#caption}} <syntaxhighlight lang="lua"> ret:caption() </syntaxhighlight> ===Format your table=== {{Main|Module:Infobox#addRow}} <syntaxhighlight lang="lua"> ret:addRow{ ... } :addRow{ ... } </syntaxhighlight> ===Finalise your template=== {{Main|Module:Infobox#finish}} <syntaxhighlight lang="lua"> ret:finish() </syntaxhighlight> ==Functions== ===Public functions=== For the example snippets below, <code>ret</code> is an arbitrary infobox initiated as: <syntaxhighlight lang="lua"> local ret = Infobox.new(args) </syntaxhighlight> ====Priority==== Certain functions rely on information created by other functions, and thus must be run in a particular order: {| class="wikitable" ! 0 | * new |- ! 1 | * defineParams |- ! 2 | * create * maxVersion |- ! 3 | * cleanParams * setMaxButtons * noSwitch |- ! 4 | * ''other functions'' |- ! 5 | * finish |} ====nilParam==== <syntaxhighlight lang="lua"> Infobox.nilParam() </syntaxhighlight> Returns the value of the placeholder value <code>Infobox.nil_param</code>. This value is generally not seen, but it is used to fill switchbox data as <code>nil</code> causes unwanted behaviour. ====isDefined==== <syntaxhighlight lang="lua"> Infobox.isDefined(arg) </syntaxhighlight> Checks whether the value <code>arg</code> can be considered as [[Module:Infobox#Defined parameters|defined]]. ====new==== <syntaxhighlight lang="lua"> Infobox.new(args) </syntaxhighlight> Creates a new infobox object with <code>args</code> as a <code>table</code> of values passed from the template invocation. This function also creates the top-level wrapper and sets a metatable for the infobox. ====create==== <syntaxhighlight lang="lua"> ret:create() </syntaxhighlight> Creates the HTML tags used for the infobox itself. Will run <code>maxVersion()</code> if it has not been run already. ====defineName==== <syntaxhighlight lang="lua"> ret:defineName(arg) </syntaxhighlight> Defines the name of the infobox. This should be the base pagename; i.e. no "Template:" namespace prefix. ====setMaxButtons==== <syntaxhighlight lang="lua"> ret:setMaxButtons(n) </syntaxhighlight> Changes the behaviour of buttons by defining the maximum number of buttons that are allowed to appear. If the version count exceeds the button count, their buttons will be replaced with a drop down menu. If not run, the maximum button count will be 5. ====cleanParams==== <syntaxhighlight lang="lua"> ret:cleanParams() </syntaxhighlight> Parses the parameters with their mapped functions. ====defineParams==== <syntaxhighlight lang="lua"> ret:defineParams{ ... } </syntaxhighlight> Maps parameters to functions as defined by a <code>table</code> formatted as such: <syntaxhighlight lang="lua"> { name = <param>, func = <func>, dupes = true }, </syntaxhighlight> <code>param</code> should be a <code>string</code> that names the parameter as it will be in references for use in other functions. <code>func</code> should be a <code>function</code> or instructions on how to find a function. <code>dupes</code> is a meta configuration that allows the parameter to be duplicated in switch data. Normally, these duplicate values are not needed, and they will be deleted if they are the same as the default values after all parameters have been parsed. Some parameters require duplication to function properly, such as display altering parameters defined with <code>linkParams()</code>. If duplicates are not needed, this parameter should be deleted. ;Predefined functions If <code>func</code> is a <code>string</code>, then the module will attempt to use a predefined function. {| class="wikitable" ! Function ! Use |- ! <tt>name</tt> | Uses the parameter named "name". If "name" is blank or undefined, it will use the page name. |- ! <tt>release</tt> | Uses the parameters named "release" and "update" and formats it as such: * If both are defined: <code><nowiki><release> ([[Update:<update>|Update]])</nowiki></code> * If only release is defined: <code><release> (Update unknown)</code> * If release is not defined: <code>? (edit)</code> |- ! <tt>removal</tt> | Uses the parameters named "removal" and "removalupdate" and formats it the same as <code>release</code> |- ! <tt>hasContent</tt> | If the parameter is defined and not blank, it will be used. Otherwise, <code>? (edit)</code> will be used. |- ! <tt>image</tt> | Currently functions the same as <code>hasContent</code> |- ! <tt>numbers</tt> | Removes commas from the parameter and attempts to cast it to a <code>number</code>. If it works, the number is used, otherwise <code>? (edit)</code> |} ;User-defined functions If <code>func</code> is a <code>function</code>, then that function will be used to parse the parameter. User-defined functions allow for more robust formatting and guidelines. As a general practice, user-defined functions should be located under the <code>main</code> functions in the module. It is best to document these functions so that they may be changed by other editors if necessary. In user-defined functions, circumstances where the edit button should be shown should return <code>nil</code>, which is automatically handled by the module. ;Simple and complex definitions Parameters may be mapped to functions in a straightforward manner by simply definining a name of or reference to a function, such as: <syntaxhighlight lang="lua"> ret:defineParams{ { name = 'foo', func = 'hasContent' }, { name = 'bar', func = barFunc } } </syntaxhighlight> Simple definitions only pass the parameter from the master list named <name>. Some parameters need more interaction with other parameters. To do this, we require a complex definition. Complex definitions point to a user-defined function and map what parameters to pass. Complex definitions can also pass literal values or the uncleaned value with the use of flags. Complex functions are defined as <code>table</code> values formatted as such: <syntaxhighlight lang="lua"> func = { name = <funcname>, params = { <paramname>, ... }, flag = <flags> } </syntaxhighlight> A basic example for complex functions is: <syntaxhighlight lang="lua"> ret:defineParams{ { name = 'foo', func = { name = fooFunc, params = { 'bar', 'baz' } }, } -- ... -- ... function fooFunc(arg1,arg2) return arg1..arg2 end </syntaxhighlight> In this example, we have a parameter named "foo", but we use the parameters passed to the template named "bar" and "baz". Parameters are passed in the order listed, so in the above, the parameter <code>bar</code> is used for <code>arg1</code>, and <code>baz</code> is used for <code>arg2</code>. Flags define the behaviour of the parameters named. The following flag behaviours exist: * <code>d</code> - Looks for the cleaned and parsed version of the parameter. If not cleaned, it will use the value passed to the template. If neither exist, it will use <code>nil</code>. This is the default behaviour if no flag is defined. * <code>p</code> - Looks only at the value passed to the template. If it does not exist, it will use <code>nil</code>. * <code>r</code> ''or'' <code>l</code> - Uses the literal (or raw) value. If <code>flag</code> is a <code>string</code>, then the behaviour defined by it will apply to every parameter passed. If <code>flag</code> is a <code>table</code>, then each flag will only define the behaviour of the respective parameter. For example: <syntaxhighlight lang="lua"> ret:defineParams{ { name = 'foo', func = { name = fooFunc, params = { 'foo', 'bar', 'baz' }, flag = { 'd', 'p', 'l' }, }, } </syntaxhighlight> In the above snippet, <code>foo</code> will use the default behaviour and <code>bar</code> will only look for the value passed to the template. The third parameter will use the string literal <code>'baz'</code>. ;Definition order Parameters are defined in the order that they are coded. If a parameter relies on the cleaned value of another parameter, then the parameter dependent on the other will need to be defined after in the definition table. ====addRow==== <syntaxhighlight lang="lua"> ret:addRow(tbl) </syntaxhighlight> Adds a new row to the template with columns and behaviour defined by <code>tbl</code>, which should be a <code>table</code> that holds cells defined as <code>table</code> variables, formatted as such: <syntaxhighlight lang="lua"> { { celltype, label, <attr1> = <value1>, <attr2> = <value2> ... }, ... } </syntaxhighlight> <code>celltype</code> and <code>label</code> are <code>string</code> values that define the fundamental display of the cell. {| class="wikitable" ! <tt>celltype</tt> ! Output |- ! <tt>th</tt> | Creates a <code><nowiki><th></nowiki></code> tag where the content is the value of <code>label</code> |- ! <tt>td</tt> | Creates a <code><nowiki><td></nowiki></code> tag where the content is the value of <code>label</code> |- ! <tt>argh</tt> | Creates a <code><nowiki><th></nowiki></code> tag where the content is the value of the parameter named <code>label</code> |- ! <tt>argd</tt> | Creates a <code><nowiki><td></nowiki></code> tag where the content is the value of the parameter named <code>label</code> |} The attributes are any of the available attributes defined inside the function. All functions that are ultimately run are documented in the [[mw:Extension:Scribunto/Lua reference manual#HTML library|Lua reference manual]] and are run on the tag for the specific table cell they are called on. {| class="wikitable" ! <tt>attr</tt> ! Type ! Use |- ! <tt>attr</tt> | <tt>table</tt> | Passes the value to <tt>mw.html.attr()</tt> |- ! <tt>css</tt> | <tt>table</tt> | Passes the value to <tt>mw.html.css()</tt> |- ! <tt>colspan</tt> | <tt>number</tt> | Uses the value to run <tt>mw.html.attr('colspan',#)</tt> |- ! <tt>rowspan</tt> | <tt>number</tt> | Uses the value to run <tt>mw.html.attr('rowspan',#)</tt> |- ! <tt>title</tt> | <tt>string</tt> | Uses the value to run <tt>mw.html.attr('title',text)</tt> |- ! <tt>class</tt> | <tt>string</tt> | Passes the value to <tt>mw.html.addClass()</tt> |- ! <tt>class</tt> | <tt>table</tt> | Passes every value in the table to <tt>mw.html.addClass()</tt> |} If the template is a switch infobox, then <code>data-attr-param="<paramname>"</code> will be added to the table cell. This function will return the template, allowing further self functions to be performed. ====wikitext==== <syntaxhighlight lang="lua"> ret:wikitext(txt) </syntaxhighlight> Appends wikitext to the top-level wrapper. Templates, etc. passed directly from Lua code will need explicit preprocessing prior to display properly. This function will return the template, allowing further self functions to be performed. ====caption==== <syntaxhighlight lang="lua"> ret:caption() </syntaxhighlight> Adds a caption to the infobox based off the subject name, using the following priority for the text: * <code>name</code> parameter * <code>name1</code> parameter (if switch infobox) * <code><nowiki>{{PAGENAME}}</nowiki></code> If the template is a switch infobox, this will also add <code>data-attr-param="name"</code> to the <code>caption</code>. This function will return the template, allowing further self functions to be performed. ====attr==== <syntaxhighlight lang="lua"> ret:attr(arg) </syntaxhighlight> Passes <code>arg</code> to <code>mw.html.attr()</code>. This function will return the template, allowing further self functions to be performed. ====float==== <syntaxhighlight lang="lua"> ret:float(dir) </syntaxhighlight> Changes the direction of the CSS style <code>float</code> for the top level wrapper. By default, all infoboxes float <code>right</code>. This function will return the template, allowing further self functions to be performed. ====css==== <syntaxhighlight lang="lua"> ret:css(...) </syntaxhighlight> Passes the arguments to <code>mw.html.css()</code>. This function will return the template, allowing further self functions to be performed. ====addClass==== <syntaxhighlight lang="lua"> ret:addClass(arg) </syntaxhighlight> Passes <code>arg</code> to <code>mw.html.addClass()</code>. This function will return the template, allowing further self functions to be performed. ====addClasses==== <syntaxhighlight lang="lua"> ret:attr(...) </syntaxhighlight> Passes every argument to <code>mw.html.addClass()</code> individually. This function will return the template, allowing further self functions to be performed. ====tag==== <syntaxhighlight lang="lua"> ret:tag(arg) </syntaxhighlight> Passes <code>arg</code> to <code>mw.html.tag()</code>. This function will return the tag (not the template), allowing further self functions to be performed. ====useSMW==== <syntaxhighlight lang="lua"> ret:useSMW(tbl) </syntaxhighlight> Tells the module to create properties for parameters, as well as defining those mappings with <code>tbl</code>, a <code>table</code> whose elements form an associated array formatted as such: <syntaxhighlight lang="lua"> { parameter = property, ... } </syntaxhighlight> When defined, properties will be defined for two separate properties: both "Property:<name>" and "Property:All <name>". If the template holds switch infobox data, then properties will be defined for "Property:<name><X>" for all applicable X. The "All <name>" properties exist to create storage for all applicable values. Keep this in mind, as "Property:<name>" will only ever store the default value. By default, the module will define [[Property:Release date]] and [[Property:Is members only]]. ====noSwitch==== <syntaxhighlight lang="lua"> ret:noSwitch() </syntaxhighlight> Forces the template to use only a single version, the default. ====maxVersion==== <syntaxhighlight lang="lua"> ret:maxVersion() </syntaxhighlight> Returns the number of versions used by the infobox. When run the first time, this function will check and define the version count first. Subsequent calls will simply return the count. ====linkParams==== <syntaxhighlight lang="lua"> ret:linkParams{ paramName = linkedParam, ... } </syntaxhighlight> Links two parameters where one parameter (<code>paramName</code>) is the parameter name of a cell's contents, and <code>linkedParam</code> is the name of the parameter that contains the classes for the specified cell. It will only have an effect on switch infoboxes. Both parameters will need to be defined in the infobox with <code>definedParams</code>. They should be functions of the parameter they operator on and include <code>dupes = true</code> in their definitions. This function must be called only '''after''' calling <code>ret:cleanParams()</code> (and before <code>ret:finish()</code>). Example: grand exchange graphs do not make sense to display for untradeable items within switch infoboxes (e.g. [[ahrim's staff]]); one could use a linkParam to add a class that will display:none table row when switching to untradeable items. In the source code of the infobox, these will be added as such: <syntaxhighlight lang="html5"> <div class="infobox-switch-resources hidden"> <span data-attr-param="param"> <span data-attr-index="0" data-addclass="linkedParam[d]">paramName[d]</span> <span data-attr-index="1" data-addclass="linkedParam[1]">paramName[1]</span> <span data-attr-index="2" data-addclass="linkedParam[2]">paramName[2]</span> </span> </div> </syntaxhighlight> From this, the switch infobox javascript will add the contents of <code>data-addclass</code> to class attribute of the row of the table when the infobox is switched. You will also need to define the classes you are using in global CSS. If the parameter is a th or td element, the class is added to the parent tr. Otherwise, it is added to the element directly (e.g. caption element). ====finish==== Finalises the template and adds remaining required HTML. * Creates hidden tag for switch infobox data (if needed) * Adds [[:Category:Pages that contain switch infobox data]] if in the mainspace * Defines [[Property:Version count]] if in the mainspace * Adds [[RS:SMW|Semantic MediaWiki Data]] in a hidden tag (if needed) *: This data can be viewed on the page itself by using inspect element, but it is not normally visible * Adds infobox bottom links ====param==== <syntaxhighlight lang="lua"> ret:param(arg, flag) </syntaxhighlight> Returns the value of the parameter named <code>arg</code>. The exact format and values are determined by the <code>flag</code>: * <code>d</code> ''or'' empty - default value of the parameter * <code>f</code> ''or'' <code>full</code> - all values of the parameter as a table * <code>s</code> ''or'' <code>switches</code> - table of all switch values (or nil if no switches are present) * <code>s#</code> - switch value at index <code>#</code> * <code>r</code> - if defined, switch value 1, otherwise the default value Note that this function returns the actual table used by the template. If a switch value is equal to <code>Infobox.nil_param</code> for flag <code>s#</code>, then <code>nil</code> will be returned instead; however, when calling specific indices from the tables returned by <code>f</code> or <code>r</code>, the value of <code>Infobox.nil_param</code> will be returned without extra parsing. ====paramDefined==== <syntaxhighlight lang="lua"> ret:paramDefined(arg, flag) </syntaxhighlight> Looks to see if the parameter named <code>arg</code> is [[Module:Infobox#Defined parameters|defined]] at any index, based on instructions from <code>flag</code>: * <code>0</code> ''or'' empty - default value of parameter * <code>#</code> - value of switch at index <code>#</code> * <code>all</code> - true if the parameter is defined with a default or at any switch value ====paramGrep==== <syntaxhighlight lang="lua"> ret:paramGrep(arg, query) </syntaxhighlight> Performs a function or search on every possible value of the parameter named <code>arg</code>. <code>query</code> can be either a <code>function</code>, a <code>string</code>, or a <code>number</code>. If a match is found or the function query returns true, <code>paramGrep</code> will end its search. If <code>query</code> is a function, that function must pass a single argument (the parameter), and return either <code>true</code> or <code>false</code>. If <code>query</code> is a string, then that string will be compared to each value of the parameter. If they match exactly, disregarding casing, then <code>true</code> will be returned. To perform a pattern match on strings, you will need to define <code>query</code> as a function that returns a boolean value based on <code>string.find</code> or <code>mw.ustring.find</code>. If <code>query</code> is a number (or any other type), then it will be compared to each value for a match. Matches are only checked if the type of <code>query</code> matches the value of the parameter; e.g., it is not valid to search for a number (ex: <code>4</code>) inside a string (ex: <code>'455'</code>). ====paramRead==== <syntaxhighlight lang="lua"> Infobox.paramRead(arg, query) </syntaxhighlight> Performs the same function as <code>paramGrep</code>; however, instead of <code>arg</code> being a name of a parameter to look for, it is the table itself. Useful for functions where only the table of parameters is passed, but not the whole infobox. ====categoryData==== <syntaxhighlight lang="lua"> ret:categoryData() </syntaxhighlight> Returns fundamental category data collected during <code>Infobox:cleanParams()</code>. Fields in the category data include: * <code>one_defined</code> - <code>true</code> if at least one possible value of the parameter is defined * <code>all_defined</code> - <code>false</code> if at least one possible value of the parameter is not defined ====addDropLevelVars==== <syntaxhighlight lang="lua"> Infobox:addDropLevelVars(key, paramName) </syntaxhighlight> Used to link infobox versions to specific [[Template:DropsLine|drops table]] versions. Sets a var <code>DropLevel_{key}_{version_name}</code>, where the value is pulled from the value of the given param <code>paramName</code> at each version. If multiple values are set with the same key, the result will be a comma separated string. For example, if an infobox has <code>|version1 = A|level1 = 10</code>, then <code>ret:addDropLevelVars('combat', 'level')</code> will set the variable <code>DropLevel_combat_A = 10</code>. ==Rules== ===Defined parameters=== Parameters are to be considered "defined" if they meet all of the following criteria: * Is not <code>nil</code> * Contains at least one non-whitespace character <code>string.find(param,'%S')</code> * Is not equal to <code>Infobox.nil_param</code> * Does not contain the string <code>'action=edit'</code> 8cdcf2cfecf010d28eaf327d04e763ca9e7e0769 Template:Citations 10 505 868 2024-03-23T14:27:12Z Habblet 11 Created page with "{{Navbox |doc = no |hidecat = yes |state = uncollapse |name = Citations |title = [[Brighter Shores:Style guide/References and citations|References and citations]] |gtitle1 = Footnote-style |gtype1 = Subgroup |group1 = {{Navbox |subgroup = Yes |gtitle1 = Standard |group1 = * [[Template:CiteGeneral|General]] * [[Template:CiteTwitter|Twitter]] |gtitle2 = Other |group2 = * [[Template:Refn|Refn]] * [[Template:NamedRef|NamedRef]] * Template:..." wikitext text/x-wiki {{Navbox |doc = no |hidecat = yes |state = uncollapse |name = Citations |title = [[Brighter Shores:Style guide/References and citations|References and citations]] |gtitle1 = Footnote-style |gtype1 = Subgroup |group1 = {{Navbox |subgroup = Yes |gtitle1 = Standard |group1 = * [[Template:CiteGeneral|General]] * [[Template:CiteTwitter|Twitter]] |gtitle2 = Other |group2 = * [[Template:Refn|Refn]] * [[Template:NamedRef|NamedRef]] * [[Template:RefDate|RefDate]] * [[Template:Reflist|Reflist]] * [[Template:Notelist|Notelist]] }} |gtitle2 = Other |group2 = * [[Module:References|Module]] }}<noinclude><!-- This navbox is transcluded on other templates' documentation so it is hidden on the template and called right here-->{{Navbox/doc}}[[Category:Navigational templates]]</noinclude> 34588894364f05e3163ae2fb8e498ca9e8029cb8 Template:Unsigned 10 506 870 2024-03-23T14:33:12Z Habblet 11 Created page with "{{nbsp}}<small>—The preceding [[Brighter Shores:Signatures|unsigned]] comment was added by [[Special:Contributions/{{{1}}}|{{{1}}}]] ([[User talk:{{#replace:{{{1}}}|:|&#58;}}|talk]]){{#if:{{{2|}}}|&nbsp;on &#32;{{#replace:{{{2}}}|<nowiki /> (UTC)}} (UTC)|}}.</small><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{nbsp}}<small>—The preceding [[Brighter Shores:Signatures|unsigned]] comment was added by [[Special:Contributions/{{{1}}}|{{{1}}}]] ([[User talk:{{#replace:{{{1}}}|:|&#58;}}|talk]]){{#if:{{{2|}}}|&nbsp;on &#32;{{#replace:{{{2}}}|<nowiki /> (UTC)}} (UTC)|}}.</small><noinclude>{{/doc}}</noinclude> 59bad4c7657f4eea2e742036816d8eeee9481972 Template:Unsigned/doc 10 507 871 2024-03-23T14:34:31Z Habblet 11 Created page with "{{Documentation}} The '''Unsigned''' template is used to add a "signature" another user's comments. ==Usage== {{t|u|user name|date}} * '''user name:''' Name or IP of user who left comment. * '''date:''' Timestamp from edit history (remember to use UTC times). '''Note:''' The datestamp from the edit history appears in your local time that is set in your preferences. In order for the time to be UTC, adjust it using the difference you designated between the server time..." wikitext text/x-wiki {{Documentation}} The '''Unsigned''' template is used to add a "signature" another user's comments. ==Usage== {{t|u|user name|date}} * '''user name:''' Name or IP of user who left comment. * '''date:''' Timestamp from edit history (remember to use UTC times). '''Note:''' The datestamp from the edit history appears in your local time that is set in your preferences. In order for the time to be UTC, adjust it using the difference you designated between the server time and local time. ==Example== '''Typing:''' <code><nowiki>{{Unsigned|User|10:10, 10 September 2008}}</nowiki></code> '''will yield:''' {{Unsigned|User|10:10, 10 September 2008}} <includeonly>[[Category:Transclusion templates|{{BASEPAGENAME}}]]</includeonly> 8e961e21e4595e977f81a7e4de2c32b99833931f Template:Nbsp 10 508 872 2024-03-23T14:34:57Z Habblet 11 Created page with "{{Multi|&#160;|{{{1|1}}}}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{Multi|&#160;|{{{1|1}}}}}<noinclude>{{/doc}}</noinclude> 61daf0d7b8be40943f672f058c80cb5cebe7db84 Template:Nbsp/doc 10 509 873 2024-03-23T14:35:09Z Habblet 11 Created page with "{{Documentation}} <pre>&amp;nbsp;</pre> Inserts a non-breaking space; template so clean-up bots can distinguish a deliberate ''&amp;nbsp;'' from an RTE-generated one. First unnamed parameter can be used to include multiple spaces; defaults to 1. <includeonly>[[Category:Formatting templates]]</includeonly>" wikitext text/x-wiki {{Documentation}} <pre>&amp;nbsp;</pre> Inserts a non-breaking space; template so clean-up bots can distinguish a deliberate ''&amp;nbsp;'' from an RTE-generated one. First unnamed parameter can be used to include multiple spaces; defaults to 1. <includeonly>[[Category:Formatting templates]]</includeonly> 13b6cfa4d748ee7dfcbe4eba2030b9a776250fd4 Template:Multi 10 510 874 2024-03-23T14:35:29Z Habblet 11 Created page with "<includeonly>{{#invoke:Multi|main}}</includeonly><noinclude>{{/doc}}<noinclude>[[Category:Mathematical templates|{{PAGENAME}}]]</noinclude>" wikitext text/x-wiki <includeonly>{{#invoke:Multi|main}}</includeonly><noinclude>{{/doc}}<noinclude>[[Category:Mathematical templates|{{PAGENAME}}]]</noinclude> 20508aea87fee66cbc633f64018b3f3973856eed User:Digitalspork 2 511 875 2024-03-23T14:35:36Z Digitalspork 40 Created User Page wikitext text/x-wiki I'm Spork! (Digitalspork everywhere) She/Her ♡ c7d418f88197d428e389804b4586b9bd4546f9ed Template:Multi/doc 10 512 876 2024-03-23T14:36:11Z Habblet 11 Created page with "{{Documentation}} This template makes it possible to insert any number of times it should be repeated. To use it, insert {{t|Multi|text to be repeated|amount of times}} for example: {{t|Multi|Hi!|5}} results in: {{Multi|Hi!|5}} '''NOTE:''' To insert a space at the beginning or the end of a repeating, use <code>&amp;nbsp;</code> This template currently works until 1399 repeatings." wikitext text/x-wiki {{Documentation}} This template makes it possible to insert any number of times it should be repeated. To use it, insert {{t|Multi|text to be repeated|amount of times}} for example: {{t|Multi|Hi!|5}} results in: {{Multi|Hi!|5}} '''NOTE:''' To insert a space at the beginning or the end of a repeating, use <code>&amp;nbsp;</code> This template currently works until 1399 repeatings. 9d662eb40e5859a515ee96312be5922415670d99 Module:Multi 828 513 877 2024-03-23T14:36:36Z Habblet 11 Created page with "--<nowiki> local p = {} function p.multi(str, count) return string.rep(str, count) end function p.main(frame) local args = frame:getParent().args local str = args[1] local times = args[2] or 2 return p.multi(str, times) end return p --</nowiki>" Scribunto text/plain --<nowiki> local p = {} function p.multi(str, count) return string.rep(str, count) end function p.main(frame) local args = frame:getParent().args local str = args[1] local times = args[2] or 2 return p.multi(str, times) end return p --</nowiki> 6c6bbce49d1caec9fbbc6ae1f8f38a27fc2c4b23 Module:Multi/doc 828 514 878 2024-03-23T14:36:42Z Habblet 11 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Category:Mathematical templates 14 515 879 2024-03-23T14:37:01Z Habblet 11 Created page with "{{Categoryheader|templates|those that are mathematical functions or parser functions to calculate||}} [[Category:Templates]]" wikitext text/x-wiki {{Categoryheader|templates|those that are mathematical functions or parser functions to calculate||}} [[Category:Templates]] 1397cc85263799b4db0ef470fa114bc28ea0fb07 Brighter Shores:Signatures 4 516 880 2024-03-23T14:39:25Z Habblet 11 Created page with "{{Shortcut|BS:SIG}} When posting in the forum or on [[Brighter Shores:Talk page|talk pages]], you must '''sign your posts'''. This helps other readers identify who posted what and organise a mass of comments into an easy to read conversation. Posting signatures will also help other users to identify the author of a comment, to navigate to their talk pages. In addition, signatures contain a '''time stamp''' which records when a comment was made as well. While it is impo..." wikitext text/x-wiki {{Shortcut|BS:SIG}} When posting in the forum or on [[Brighter Shores:Talk page|talk pages]], you must '''sign your posts'''. This helps other readers identify who posted what and organise a mass of comments into an easy to read conversation. Posting signatures will also help other users to identify the author of a comment, to navigate to their talk pages. In addition, signatures contain a '''time stamp''' which records when a comment was made as well. While it is important to sign your comments on the forums, talk pages, and some project pages, signatures should '''never''' go in the mainspace. No matter what content you add, you may never [[Brighter Shores:Ownership|sign it]], since the wiki is a collaborative effort, and the articles and files belong to every one of the contributors. Credit is given to each contributor in the page history, which lists every revision ever made to a page. ==How to sign your posts== There are two ways to sign your posts. The first is to type four tildes (<nowiki>~~~~</nowiki>) at the end of your post, which, when saved, will generate your signature and a time stamp. The other way is to click the signature button ([[File:Signature button.png|The signature button]]) at the top of the editing window. This will insert the four tildes for you! ===Different signature forms=== Typing four tildes results in your signature and a time stamp, which is almost always what should be used, but there are other possibilities as well. Typing three tildes results in just your signature appearing. This is most commonly used when the time a comment was made is unimportant, such as a guest book or a list of project members. Typing 5 tildes results in just the time stamp appearing. {| class="wikitable" ! Wikimarkup !! Resulting code !! Resulting display |- |align="center"|<nowiki>~~~</nowiki> |<nowiki>[[User:Example|Example]]</nowiki> | [[User:Example|Example]] |- |align="center"|<nowiki>~~~~</nowiki> | <nowiki>[[User:Example|Example]]</nowiki> {{CURRENTTIME}}, {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} (UTC) | [[User:Example|Example]] {{CURRENTTIME}}, {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} (UTC) |- |align="center"|<nowiki>~~~~~</nowiki> | {{CURRENTTIME}}, {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} (UTC) | {{CURRENTTIME}}, {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}} (UTC) |} ==Custom signatures== The default signature is a simple link to your userpage. Many users wish to express individuality in their signatures, so they create customised signatures. Users are encouraged to do so, however they must adhere to a few simple rules. We have these rules because without them, custom signatures very quickly begin making a mess of things. Custom signatures are often very long in terms of the code required to produce them. When many such signatures are posted in full on a single page, the page can get very long and become difficult to edit for users with slower internet connections. In addition to bandwidth concerns, when an image is used in a signature, it quickly becomes included on hundreds of pages that it would not normally appear on. If the image in question ever needs to be replaced or renamed, the huge amount of pages that it links to becomes a large issue, since it must be replaced on each and every page to prevent it from appearing as a [[Special:WantedFiles|wanted file]], a file which is linked to, but does not exist. To prevent both of these issues, signatures must be placed on pages as a template. This means that, when the signature is viewed in the page editor, it shows up as <code><nowiki>{{Signatures/Example}}</nowiki></code> instead of the entire code for your signature. Not only does it make pages much smaller by compressing the entire code of your signature into that one snippet of code, but it makes replacing images far easier, since the image need only be changed on the template, then it will be updated on every page that the template is used. ===Creating your signature=== Users interested in creating their own signatures can find help on [[Brighter Shores:Customising your signature|this page]]. When creating signatures, the following rules apply to both editors creating their own signatures and to editors creating signatures for others. # Signatures must link to the user's userpage—or the user's talk page, if they prefer not to have a user page on this wiki. Signatures may link to both if the user so desires. The name does not need to be the user's exact account name, but it must be a name by which the user is widely known. Without this provision, signatures do not provide the useful ability to identify a comment from a certain user on a page. # Signatures may not exceed the '''maximum height of 31px'''. # Users may only have one signature template page. That page may contain more than one signature, but only one may be used at a time. Methods by which this can be accomplished are listed below. # Signatures cannot contain more than two images, since signatures with more than this can cause computers to load them slowly. # Images contained in signatures may not be higher than 31 pixels. Users can scale images to 31px high without distorting them by using the code: <code><nowiki>[[File:Example.png|x31px]]</nowiki></code> # Signatures must not contain linebreaks. This results in a line break when the signature is used, which interferes with formatting and other page code. # Signatures that use HTML tags must be balanced. This means that every <nowiki><span> must have a matching </span></nowiki>. You can tell if your signature is balanced by typing something after it. If it is plain text, then your signature is balanced. # Signatures must not be excessively long. There is no set limit for how long is too long, but use common sense. # Signatures may not be animated. This includes animated GIF images, GIF slideshows that switch between still images, or flashing text. ===Setting up your signature=== Once you have your signature code, either by creating it yourself or by having another user create it for you, you must create a template to store your signature on. Usually, this is <code><nowiki>Template:Signatures/</nowiki>{{USERNAME}}</code>, however it can also be a sub-page of your user page, such as <code>User:{{USERNAME}}/Signature</code>. *If using <code><nowiki>Template:Signatures/</nowiki>{{USERNAME}}</code> *:After the code for your signature, '''without''' hitting enter or inserting a line break, paste the following code: <code><nowiki><noinclude>[[Category:Signatures|{{ucfirst:{{SUBPAGENAME}}}}]]</noinclude></nowiki></code> *If using <code>User:{{USERNAME}}/Signature</code> *:After the code for your signature, '''without''' hitting enter or inserting a line break, paste the following code: <code><nowiki><noinclude>[[Category:Signatures|{{ucfirst:{{BASEPAGENAME}}}}]]</noinclude></nowiki></code> This won't appear in your signature when you sign, but is used to add your signature to [[:Category:Signatures]] and to sort it based on your username. An example of a signature page is: <pre><span style="border:2px solid green;">[[User:Example|Example]]</span><noinclude>[[Category:Signatures|{{ucfirst:{{SUBPAGENAME}}}}]]</noinclude></pre> Once the template page is set up, go to your [[Special:Preferences|preferences]], ensure that "Treat signature as wikitext" is checked, and paste this into the "New signature" field: <nowiki>{{Template:Signatures/</nowiki>{{USERNAME}}<nowiki>}}</nowiki> or <nowiki>{{User:</nowiki>{{USERNAME}}<nowiki>/Signature}}</nowiki> If your signature is not on a sub page of Template:Signatures, then change <code>Template:Signatures/{{USERNAME}}</code> and <code>Signatures/{{USERNAME}}</code> to whatever page your signature is located on, such as <code>User:{{USERNAME}}/Signature</code> ===Multiple signatures=== While only one signature can be active at time, users are free to change signatures whenever they wish, as well as having multiple signatures to pick from. A common way to do this it is to store signatures on your user page and paste whichever one you want to use currently in your template page. Another more advanced method is to store them on your signature page, but prevent them from appearing along with your current signature by use of noinclude tags. For example: <pre><span style="border:2px solid green;">[[User:Example|Example]]</span><noinclude> Other signature codes [[Category:Signatures|{{ucfirst:{{SUBPAGENAME}}}}]]</noinclude></pre> Notice that the opening <tt>&lt;noinclude&gt;</tt> tag is pasted '''before''' the line break. If you do not do this, it will break the signature formatting. ==Dealing with unsigned comments== If you see an unsigned comment, feel free to use the {{t|unsigned}} template. The table below shows how to use this template. {| class="wikitable" ! Wikimarkup !! Example code !! Resulting display |- |<nowiki>{{unsigned|</nowiki>''user name or IP''<nowiki>|</nowiki>''date and time''<nowiki>}}</nowiki> |<nowiki>{{unsigned|Example|</nowiki>{{#time:Y-m-dTH:i:s}}<nowiki>}}</nowiki> |{{unsigned|Example|{{#time:Y-m-dTH:i:s}}}} |} You may also want to remind users to sign their posts if they aren't, or if they don't know how, direct them to this page. ==List of signatures== Feel free to post your signature or view other signatures on our [[/Sign|signatures page]]. [[Category:Signatures| ]] [[Category:Policies & Guidelines]] 1d84979322f41e460fdf4633f4c3b2a53b335d09 Template:USERNAME 10 517 881 2024-03-23T14:39:49Z Habblet 11 Created page with "<span class="insertusername">{{{1|<insert name here>}}}</span><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <span class="insertusername">{{{1|<insert name here>}}}</span><noinclude>{{/doc}}</noinclude> d7e859cb9366ebe106e1b3fcb502e0071c4dc690 Template:USERNAME/doc 10 518 882 2024-03-23T14:40:09Z Habblet 11 Created page with "{{Documentation}} __NOEDITSECTION__ {{t|USERNAME}} displays the username of the user viewing the page. If the user is not logged in, then the template will display <insert name here>. You can control the text displayed by adding a parameter to the template with a value of the default text. For example, <code><nowiki>{{USERNAME|foo}}</nowiki></code> outputs "foo" if the user viewing it is not logged in. ===Examples=== {| class="wikitable" cellpadding="3" width="66%" |+..." wikitext text/x-wiki {{Documentation}} __NOEDITSECTION__ {{t|USERNAME}} displays the username of the user viewing the page. If the user is not logged in, then the template will display <insert name here>. You can control the text displayed by adding a parameter to the template with a value of the default text. For example, <code><nowiki>{{USERNAME|foo}}</nowiki></code> outputs "foo" if the user viewing it is not logged in. ===Examples=== {| class="wikitable" cellpadding="3" width="66%" |+ !Code !Gives |+ |<nowiki>[[Special:MyPage|{{USERNAME}}]]</nowiki> |[[Special:MyPage|{{USERNAME}}]] |+ |<nowiki>[[Special:MyTalk|{{USERNAME}}'s talkpage]]</nowiki> |[[Special:MyTalk|{{USERNAME}}'s talk page]] |+ |<nowiki>[[Special:MyContributions|{{USERNAME}}'s Contribs]]</nowiki> |[[Special:MyContributions|{{USERNAME}}'s contribs]] |} <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> d6462ffcc632fedc2eedf25aad237666c015cb56 Category:Signatures 14 519 883 2024-03-23T14:40:33Z Habblet 11 Created page with "{{Categoryheader|templates|[[Brighter Shores:Signatures|signatures]]||}} [[Category:User templates]]" wikitext text/x-wiki {{Categoryheader|templates|[[Brighter Shores:Signatures|signatures]]||}} [[Category:User templates]] deee84e3d7f9b25120a4220e2a35556d27b5bec3 Category:User templates 14 520 884 2024-03-23T14:40:55Z Habblet 11 Created page with "{{Categoryheader|templates|that are for use in the '''User:''' namespace. All [[Brighter Shores:Userboxes|userboxes]] and templates specific for use in user pages are listed within this category||}} [[Category:Templates]]" wikitext text/x-wiki {{Categoryheader|templates|that are for use in the '''User:''' namespace. All [[Brighter Shores:Userboxes|userboxes]] and templates specific for use in user pages are listed within this category||}} [[Category:Templates]] d25c4c35d6d6b8e3cc67c953028eae499e9b1ca2 Talk:Premium Pass 1 477 885 869 2024-03-23T14:45:04Z Digitalspork 40 Added Unsigned Template to original edit. wikitext text/x-wiki == Changing wiki page to reference latest tweet regarding subscription == I think we need to change the "It will not be a recurring subscription", as the latest images by andrew himself on twitter show-cases that it is indeed a time variant subscription. - https://twitter.com/AndrewCGower/status/1771227689514315873/photo/1 "365 days left", the article listed as source reference is older than that which andrew has posted on his twitter himself, with no additional clarification it is misleading to state one or the other. To further quote the article: "One of the key differences is we're probably not going to do auto-recurring payments," There is no reference to it not being a recurring premium pass, just no "auto-recurring payments" which is vastly different than having to purchase it every time you run out, this could also potential be a hint at there being a bond type system similar to runescape, and further reading into the article "Everyone's got their millions of different streaming service subscriptions," Gower explains. "The Netflix subscriptions, Amazon Prime subscriptions, people are getting a certain degree of subscription fatigue. So we've decided to just make it a non-recurring payment. You can just buy a pass, get the premium, it's not like a commitment that you're then gonna have to pay that forever." still doesn't state anything about having to buy it again after time runs out. Just that it's not a commitment that you have to pay forever because he doesn't like how recurring subscriptions are setup to be predatory against people (they auto renew) {{unsigned|Demonly|3.23.24}} // End of OP Adding on to this, I absolutely agree that we should adjust how this is written or perhaps exclude it all together for now as it seems that we don't entirely know how it will function. It does appear that it will be a Premium '''Pass''' rather than some sort of renewing Subscription or Membership system, which leads me to the possibility that the Pass might be something that lasts 1 year versus potentially the design iteration in the interview being something that never expired at the time. Overall it's really hard to say with the information contradicting itself at this point and the game still being in development. --[[User:Digitalspork|Digitalspork (She/Her) ♡]] ([[User talk:Digitalspork|talk]]) 14:30, 23 March 2024 (UTC) ee2d7f11439b5aa4dbba491cfd681a87da2b1582 887 885 2024-03-23T14:48:29Z Habblet 11 wikitext text/x-wiki == Changing wiki page to reference latest tweet regarding subscription == I think we need to change the "It will not be a recurring subscription", as the latest images by andrew himself on twitter show-cases that it is indeed a time variant subscription. - https://twitter.com/AndrewCGower/status/1771227689514315873/photo/1 "365 days left", the article listed as source reference is older than that which andrew has posted on his twitter himself, with no additional clarification it is misleading to state one or the other. {{U|Demonly|13:10, 23 March 2024 (UTC)}} To further quote the article: "One of the key differences is we're probably not going to do auto-recurring payments," There is no reference to it not being a recurring premium pass, just no "auto-recurring payments" which is vastly different than having to purchase it every time you run out, this could also potential be a hint at there being a bond type system similar to runescape, and further reading into the article "Everyone's got their millions of different streaming service subscriptions," Gower explains. "The Netflix subscriptions, Amazon Prime subscriptions, people are getting a certain degree of subscription fatigue. So we've decided to just make it a non-recurring payment. You can just buy a pass, get the premium, it's not like a commitment that you're then gonna have to pay that forever." still doesn't state anything about having to buy it again after time runs out. Just that it's not a commitment that you have to pay forever because he doesn't like how recurring subscriptions are setup to be predatory against people (they auto renew) {{U|Demonly|13:22, 23 March 2024 (UTC)}} // End of OP Adding on to this, I absolutely agree that we should adjust how this is written or perhaps exclude it all together for now as it seems that we don't entirely know how it will function. It does appear that it will be a Premium '''Pass''' rather than some sort of renewing Subscription or Membership system, which leads me to the possibility that the Pass might be something that lasts 1 year versus potentially the design iteration in the interview being something that never expired at the time. Overall it's really hard to say with the information contradicting itself at this point and the game still being in development. --[[User:Digitalspork|Digitalspork (She/Her) ♡]] ([[User talk:Digitalspork|talk]]) 14:30, 23 March 2024 (UTC) f82ae8a4fe6b42e5b2723e82859d9d8d801ddd56 921 887 2024-03-23T16:24:11Z Jayden 3 /* Changing wiki page to reference latest tweet regarding subscription */ wikitext text/x-wiki == Changing wiki page to reference latest tweet regarding subscription == I think we need to change the "It will not be a recurring subscription", as the latest images by andrew himself on twitter show-cases that it is indeed a time variant subscription. - https://twitter.com/AndrewCGower/status/1771227689514315873/photo/1 "365 days left", the article listed as source reference is older than that which andrew has posted on his twitter himself, with no additional clarification it is misleading to state one or the other. {{U|Demonly|13:10, 23 March 2024 (UTC)}} To further quote the article: "One of the key differences is we're probably not going to do auto-recurring payments," There is no reference to it not being a recurring premium pass, just no "auto-recurring payments" which is vastly different than having to purchase it every time you run out, this could also potential be a hint at there being a bond type system similar to runescape, and further reading into the article "Everyone's got their millions of different streaming service subscriptions," Gower explains. "The Netflix subscriptions, Amazon Prime subscriptions, people are getting a certain degree of subscription fatigue. So we've decided to just make it a non-recurring payment. You can just buy a pass, get the premium, it's not like a commitment that you're then gonna have to pay that forever." still doesn't state anything about having to buy it again after time runs out. Just that it's not a commitment that you have to pay forever because he doesn't like how recurring subscriptions are setup to be predatory against people (they auto renew) {{U|Demonly|13:22, 23 March 2024 (UTC)}} // End of OP Adding on to this, I absolutely agree that we should adjust how this is written or perhaps exclude it all together for now as it seems that we don't entirely know how it will function. It does appear that it will be a Premium '''Pass''' rather than some sort of renewing Subscription or Membership system, which leads me to the possibility that the Pass might be something that lasts 1 year versus potentially the design iteration in the interview being something that never expired at the time. Overall it's really hard to say with the information contradicting itself at this point and the game still being in development. --[[User:Digitalspork|Digitalspork (She/Her) ♡]] ([[User talk:Digitalspork|talk]]) 14:30, 23 March 2024 (UTC) :Hey both! Thanks for raising this - I've edited the wording to say it won't be an "automatically recurring subscription". I think this lines up better with the information currently available from Andrew's Twitter account, while not infering too much from his recent screenshot which seems to suggest it will function like "game time" from World of Warcraft where you can add additional days/months/years to it. [[User:Jayden|Jayden]] ([[User talk:Jayden|talk]]) 16:24, 23 March 2024 (UTC) e219cf4ec98ec90fd855f4205a474be56d179d03 Template:U 10 521 886 2024-03-23T14:46:25Z Habblet 11 Redirected page to [[Template:Unsigned]] wikitext text/x-wiki #REDIRECT [[Template:Unsigned]] 0b107b86f688ac0fa9436704c4ec73d88c96ef75 Factions 0 72 888 865 2024-03-23T14:50:30Z Digitalspork 40 Added Quote about Factions/Classes from the Official Website (this felt like the appropriate place, remove if it isn't.) wikitext text/x-wiki [[File:Factions.jpg|thumb|right|Examples of the three factions.]] '''Factions''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. Factions are described as follows on the Official Brighter Shores Website. "You will discover powerful magic sources and become one of the legendary classes of old: Cryoknight, Guardian or Hammermage. Which is fortunate, because something is corrupting the deepest reaches of the nearby Hopeforest, and only through the strength of your new-found powers will you be able to deal with it." {{CiteGeneral|url=https://brightershores.com|title=Official Brighter Shores Website}} ==Factions== * The [[Cryoknight]] ([[File:Cryoknight icon.svg|18px]]) faction is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]]. * [[Guardian]]s ([[File:Guardian icon.svg|18px]]) use ranged combat, preferring to wield weapons like [[crossbow]]s. * The [[Hammermage]] ([[File:Hammermage icon.svg|18px]]) faction fights using a mix of melee and magic. {{Factions}} {{Mechanics}} 9e7b85f72ebd07d25e34b47bb71978a59e93e27c Tradeing 0 522 889 2024-03-23T14:52:28Z Habblet 11 Redirected page to [[Trading]] wikitext text/x-wiki #REDIRECT [[Trading]] 3ac6668e21947f55c316a2cbe7909f231910234e Brighter shores 0 523 890 2024-03-23T14:53:17Z Habblet 11 Redirected page to [[Brighter Shores]] wikitext text/x-wiki #REDIRECT [[Brighter Shores]] d29839506a6d53c11083697d350097bac95fb0d8 Cbow 0 524 891 2024-03-23T14:53:54Z Habblet 11 Redirected page to [[Crossbow]] wikitext text/x-wiki #REDIRECT [[Crossbow]] 3ede2fe6ebf104c28077e2d7b666c93511dd5328 Brighter Shores:Redirecting 4 525 892 2024-03-23T14:54:20Z Habblet 11 Created page with "{{Shortcut|BS:REDIR|BS:R|BS:REDIRECT}} Although our pages (should) always have the accurate names of the items, quests or characters, players searching this wiki may not be as accurate as we are; after all, the use of shortenings or abbreviations can speed up searching considerably, if they can be used. To this end '''redirecting''' is utilised in order to aid users to find their articles. A redirect is a page created specifically to take a searcher straight to another..." wikitext text/x-wiki {{Shortcut|BS:REDIR|BS:R|BS:REDIRECT}} Although our pages (should) always have the accurate names of the items, quests or characters, players searching this wiki may not be as accurate as we are; after all, the use of shortenings or abbreviations can speed up searching considerably, if they can be used. To this end '''redirecting''' is utilised in order to aid users to find their articles. A redirect is a page created specifically to take a searcher straight to another article, even without the accurate name. They can be used in a variety of situations to help the users of this wiki. ==How to redirect== To make a redirect page, the page which will be redirecting must be created. To redirect it to a selected page, simply write <code>#REDIRECT <nowiki>[[Target page name]]</nowiki></code> in it. When previewed, the page will show the following: #REDIRECT [[Brighter Shores:No page|Target page name]] Don't worry. It may not look like a redirect page does once created, but that is just because redirects don't show on preview pages. See below to see what a page looks like when redirected: [[File:Redirect.png]] {{Clear|left}} ===Redirecting to a category=== When creating a page that redirects to a category, using the format above causes the redirect page to be included in the category itself. To properly redirect to a category, use <pre>#REDIRECT [[:Category:CategoryNameHere]]</pre> The use of the colon (:) before the category instructs the Wiki software to treat the link as a normal link and not as a category to be included. ===Editing an existing redirect=== Editing a redirect page is like editing any other page: the trick comes in finding the redirect page itself and not its target. To access an existing redirect page, search for the redirect title (example "Abby whip"). When the target page appears, a note underneath the target page's title will say something similar to "<span id='contentSub'>(Redirected from [[Abby whip]])</span>". Clicking on the link in this notice will take you to the redirect page itself (pictured above) which can then be edited as normal. Alternatively, <code>?redirect=no</code> can be appended to a link that redirects (the question mark indicates the start of a {{wp|Query string|query string}}). ==When to use redirects== Redirects can be used for a number of things: * Common misspellings ([[Tradeing]]) * Different forms of capitalisation ([[Brighter shores]]) * Common shortenings or abbreviations ([[Cbow]]) * Alternative names ==When not to use redirects== * Redirecting from one namespace to another; for example, making "Example" redirect to [[User:Example]]. This applies for all situations except in special cases (e.g. redirects to policies). * For an unclear term with more than one possible meaning, a disambiguation page may be an alternative to a redirect. Any mis-spellings of this term should redirect to the disambiguation page. * Redirects from one userpage to another is allowed only if the user has switched accounts, or if the user's userpage is impossible to type on a conventional keyboard. Other than that, user related redirects will not be allowed. {{Policies & Guidelines}} 693125a457fe73c1929b4a5827567e7ef0c4fcf8 Template:* 10 526 893 2024-03-23T14:56:45Z Habblet 11 Created page with "<includeonly>'''&bull;'''</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>'''&bull;'''</includeonly><noinclude>{{/doc}}</noinclude> 2c69a2b42eee28fc569d1bad5f2e3d8b059346f0 Template:*/doc 10 527 894 2024-03-23T14:59:19Z Habblet 11 Created page with "{{Documentation}} The '''*''' template is used to add bullets (example: '''&bull;''') by substituting <tt><nowiki>'''&amp;bull;'''</nowiki></tt> automatically. ==Usage== The recommended usage is to use spaces ''before'' and ''after'' the template. <pre>[[Fisher]] {{*}} [[Forager]]</pre> The template renders one space on each side of the bullet. [[Fisher]] {{*}} [[Forager]] For long dotted lists each list item can be put on its own line, with spaces between each item..." wikitext text/x-wiki {{Documentation}} The '''*''' template is used to add bullets (example: '''&bull;''') by substituting <tt><nowiki>'''&amp;bull;'''</nowiki></tt> automatically. ==Usage== The recommended usage is to use spaces ''before'' and ''after'' the template. <pre>[[Fisher]] {{*}} [[Forager]]</pre> The template renders one space on each side of the bullet. [[Fisher]] {{*}} [[Forager]] For long dotted lists each list item can be put on its own line, with spaces between each item and the template. <pre> [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] </pre> As before, the template renders one space on each side of the bullets. [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] When the list is too long and line breaks, the class "nowraplinks" should be used. <pre style="width:95%; overflow:scroll"><div class="nowraplinks"> [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] </div></pre> Using "nowraplinks" forces the line break to come after one of the bullets. <div class="nowraplinks"> [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] {{*}} [[Fisher]] {{*}} [[Forager]] {{*}} [[Chef]] {{*}} [[Woodcutter]] </div> <includeonly>[[Category:Formatting templates|{{PAGENAME}}]]</includeonly> {{TemplateData|<templatedata> { "params": {}, "description": "The * template is used to add bullets (example: •) by substituting '''&bull;''' automatically.", "format": "inline" } </templatedata> }} 278584e4ad397ffa001cc9def2212a3550aced64 Category:Public domain files 14 528 895 2024-03-23T15:06:34Z Habblet 11 Created page with "{{Categoryheader|files|being in the [[wikipedia:Public domain|public domain]]|yes|[[Template:PD]]}} [[Category:Brighter Shores Wiki images]] [[Category:Images]]" wikitext text/x-wiki {{Categoryheader|files|being in the [[wikipedia:Public domain|public domain]]|yes|[[Template:PD]]}} [[Category:Brighter Shores Wiki images]] [[Category:Images]] cf950cb0373b6e7eebf3ae20c7993a1014e75281 Template:Permanent Protection/doc 10 234 897 408 2024-03-23T15:07:39Z Habblet 11 wikitext text/x-wiki {{documentation}} This template displays a notice that a page is permanently protected. ==Usage== This template can be used by entering the following onto a relevant page. It will automatically add [[:Category:Permanently protected files]] to the page. <pre>{{Permanent Protection}}</pre> <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> 5f32848d66c705ae0f009547b8649fadec95dd97 File:Copyright.svg 6 222 898 392 2024-03-23T15:09:14Z Habblet 11 Protected "[[File:Copyright.svg]]": High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki == Summary == {{Permanent Protection}} {{GFDL}} Source: modified from [http://commons.wikimedia.org/wiki/Image:Copyright-problem.svg a file on Wikimedia Commons]. e14066573aa911d4461287d3595b37b55a8127d2 File:GreenCopyleft.svg 6 284 899 464 2024-03-23T15:10:07Z Habblet 11 Protected "[[File:GreenCopyleft.svg]]": High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki == Summary == {{Permanent Protection}} The green copyleft symbol. Obtained from Wikimedia Commons. Released into the public domain by the author. ==License== {{PD}} 47293a069177dca145eca783f1e2b5266321a29d File:Heckert GNU white.svg 6 278 900 457 2024-03-23T15:10:23Z Habblet 11 Protected "[[File:Heckert GNU white.svg]]": High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki == Summary == {{Permanent Protection}} An image of a Gnu. Taken from Wikimedia Commons ([http://commons.wikimedia.org/wiki/Image:Heckert_GNU_white.svg description page]). *Original author: Aurelio A. Heckert <aurium@gmail.com> ==License== {{Copyleft}} a7cee28305c93ffd7726b6fd731e9296c14b575b File:Padlock-red.svg 6 224 901 396 2024-03-23T15:10:33Z Habblet 11 Protected "[[File:Padlock-red.svg]]": High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki == Summary == {{Permanent Protection}} {{PD}} 070edbdc5141e7b313fe8575081029aa39d81152 Category:Maintenance templates 14 530 902 2024-03-23T15:10:58Z Habblet 11 Created page with "{{Categoryheader|templates|ones that are used in articles that require maintenance||}} [[Category:Templates]]" wikitext text/x-wiki {{Categoryheader|templates|ones that are used in articles that require maintenance||}} [[Category:Templates]] c4f130af1f861e235175770aaff030537f79d7eb User:Merds 2 531 903 2024-03-23T15:14:01Z Merds 25 Created page with "." wikitext text/x-wiki . 3a52ce780950d4d969792a2559cd519d7ee8c727 The Delectable Dab Restaurant 0 89 904 254 2024-03-23T15:17:50Z Habblet 11 moving content from [[The Deletectable Dab Restaurant]] wikitext text/x-wiki [[File:The Deletectable Dab Restaurant.jpg|thumb|right|The Deletectable Dab Restaurant]] The '''The Deletectable Dab Restaurant''' is a restaurant. [[Category:Shops]] 4dc9205697bcb4195de57e550fe90ec7a57b7438 The Deletectable Dab Restaurant 0 203 905 356 2024-03-23T15:17:59Z Habblet 11 Redirected page to [[The Delectable Dab Restaurant]] wikitext text/x-wiki #REDIRECT [[The Delectable Dab Restaurant]] 08b53c46126388472ba961b5ca0c80b4efde44c4 File:Redirect-arrow.svg 6 532 906 2024-03-23T15:20:07Z Habblet 11 {{Permanent Protection}} {{PD}} [[Category:Brighter Shores Wiki images]] wikitext text/x-wiki == Summary == {{Permanent Protection}} {{PD}} [[Category:Brighter Shores Wiki images]] 961f216a7fc07fd554e7acc689ace825211cfd02 907 906 2024-03-23T15:20:33Z Habblet 11 Protected "[[File:Redirect-arrow.svg]]": High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki == Summary == {{Permanent Protection}} {{PD}} [[Category:Brighter Shores Wiki images]] 961f216a7fc07fd554e7acc689ace825211cfd02 Brighter Shores:REDIR 4 533 908 2024-03-23T15:32:39Z Habblet 11 Redirected page to [[Brighter Shores:Redirecting]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:Redirecting]] 100f2267143fe2b036e719f9a057be60cb53ba22 Brighter Shores:R 4 534 909 2024-03-23T15:32:43Z Habblet 11 Redirected page to [[Brighter Shores:Redirecting]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:Redirecting]] 100f2267143fe2b036e719f9a057be60cb53ba22 Brighter Shores:REDIRECT 4 535 910 2024-03-23T15:32:47Z Habblet 11 Redirected page to [[Brighter Shores:Redirecting]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:Redirecting]] 100f2267143fe2b036e719f9a057be60cb53ba22 File:Redirect.png 6 536 911 2024-03-23T15:37:57Z Habblet 11 {{CC-BY-NC-SA}} [[Category:Brighter Shores Wiki images]] wikitext text/x-wiki == Summary == {{CC-BY-NC-SA}} [[Category:Brighter Shores Wiki images]] b153b576ff38e477237e896297feb074d5dfa301 Template:CC-BY-NC-SA 10 537 912 2024-03-23T15:38:24Z Habblet 11 Created page with "{| class="messagebox info" id="cc-by-nc-sa" | [[File:Cc-by new white.svg|32px|centre|link=]] | This file is licensed under the {{WP|Creative Commons}} [https://creativecommons.org/licenses/by-nc-sa/3.0/ Attribution-NonCommercial-ShareAlike 3.0] License. |}{{Fileonly|[[Category:Licensed images]]}}<noinclude>{{/doc}}[[Category:License templates]]</noinclude>" wikitext text/x-wiki {| class="messagebox info" id="cc-by-nc-sa" | [[File:Cc-by new white.svg|32px|centre|link=]] | This file is licensed under the {{WP|Creative Commons}} [https://creativecommons.org/licenses/by-nc-sa/3.0/ Attribution-NonCommercial-ShareAlike 3.0] License. |}{{Fileonly|[[Category:Licensed images]]}}<noinclude>{{/doc}}[[Category:License templates]]</noinclude> b4d2e0d6bcfb1f233ee79a741685891ea23cbb1a Template:CC-BY-NC-SA/doc 10 538 913 2024-03-23T15:38:47Z Habblet 11 Created page with "{{Documentation}} This template is used to mark files that licensed under a {{wp|Creative Commons}} [https://creativecommons.org/licenses/by-nc-sa/3.0/ Attribution-NonCommercial-ShareAlike 3.0] license. As the wiki's content is [[meta:Copyrights|licensed]] under CC BY-NC-SA 3.0, files that exclusively contain the wiki's content should be marked with this template. ==Usage== :Type {{t|CC-BY-NC-SA}} on the file information page. <includeonly>Category:Copyright templat..." wikitext text/x-wiki {{Documentation}} This template is used to mark files that licensed under a {{wp|Creative Commons}} [https://creativecommons.org/licenses/by-nc-sa/3.0/ Attribution-NonCommercial-ShareAlike 3.0] license. As the wiki's content is [[meta:Copyrights|licensed]] under CC BY-NC-SA 3.0, files that exclusively contain the wiki's content should be marked with this template. ==Usage== :Type {{t|CC-BY-NC-SA}} on the file information page. <includeonly>[[Category:Copyright templates|{{PAGENAME}}]]</includeonly> b78ac8aab4dd88ea4ef95eb2d27576b5742784f7 File:Cc-by new white.svg 6 539 914 2024-03-23T15:39:24Z Habblet 11 Sourced from: https://commons.wikimedia.org/wiki/File:Cc-by_new_white.svg {{PD}} wikitext text/x-wiki == Summary == Sourced from: https://commons.wikimedia.org/wiki/File:Cc-by_new_white.svg {{PD}} fb5a83a231aa6325d6e3814019acb05a94be2703 Template:Clear 10 540 915 2024-03-23T15:40:06Z Habblet 11 Created page with "<div class="clear-template clear-{{lc:{{{1|both}}}}}" style="clear:{{{1|both}}};"></div><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <div class="clear-template clear-{{lc:{{{1|both}}}}}" style="clear:{{{1|both}}};"></div><noinclude>{{/doc}}</noinclude> 9ee297b925c23b42a84fc64c637724e15a075001 Template:Clear/doc 10 541 916 2024-03-23T15:40:16Z Habblet 11 Created page with "{{Documentation}} The '''clear''' template is used when the text needs to be moved below, for example, after an image or an infobox. ==Usage== <pre>{{clear}}</pre> :substitutes: '''<nowiki><div class="clear-template clear-both" style="clear:both;"></div></nowiki>''' <pre>{{clear|left}}</pre> :substitutes: '''<nowiki><div class="clear-template clear-left" style="clear:left;"></div></nowiki>''' <pre>{{clear|right}}</pre> :substitutes: '''<nowiki><div class="clear-templa..." wikitext text/x-wiki {{Documentation}} The '''clear''' template is used when the text needs to be moved below, for example, after an image or an infobox. ==Usage== <pre>{{clear}}</pre> :substitutes: '''<nowiki><div class="clear-template clear-both" style="clear:both;"></div></nowiki>''' <pre>{{clear|left}}</pre> :substitutes: '''<nowiki><div class="clear-template clear-left" style="clear:left;"></div></nowiki>''' <pre>{{clear|right}}</pre> :substitutes: '''<nowiki><div class="clear-template clear-right" style="clear:right;"></div></nowiki>''' {{TemplateData|<templatedata> { "params": { "1": { "label": "Placement", "description": "One of: left, right, both", "type": "line", "default": "both" } }, "description": "The clear template is used when the text needs to be moved below, for example, after an image or an infobox.", "format": "inline" } </templatedata>}}<includeonly>[[Category:Formatting templates|{{PAGENAME}}]]</includeonly> 7a2477ddf8acbb56c6a887db7f5ec8d6d4b77887 Brighter Shores:No page 4 542 917 2024-03-23T15:46:48Z Habblet 11 Created page with "[[File:Information icon.svg|left|40px]] The page you were looking for does not exist. It has either been deleted, was no longer needed, or is reserved for the time being and has been linked to this page to clear up the [[Special:WantedPages|wanted pages]]. Sorry for the inconvenience. [[Main Page|Go back to the Main Page]]. <noinclude>[[Category:Brighter Shores Wiki community]]</noinclude>" wikitext text/x-wiki [[File:Information icon.svg|left|40px]] The page you were looking for does not exist. It has either been deleted, was no longer needed, or is reserved for the time being and has been linked to this page to clear up the [[Special:WantedPages|wanted pages]]. Sorry for the inconvenience. [[Main Page|Go back to the Main Page]]. <noinclude>[[Category:Brighter Shores Wiki community]]</noinclude> 6b0aaa2cd86df1eb479c666d8bec17acb3863fc7 File:Information icon.svg 6 543 918 2024-03-23T15:47:07Z Habblet 11 {{Permanent Protection}} {{GFDL}} wikitext text/x-wiki == Summary == {{Permanent Protection}} {{GFDL}} 0fe0469d4da9d6c680a11557b924fa01baf09375 919 918 2024-03-23T15:47:15Z Habblet 11 Protected "[[File:Information icon.svg]]": High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite) [Upload=Allow only administrators] (indefinite)) wikitext text/x-wiki == Summary == {{Permanent Protection}} {{GFDL}} 0fe0469d4da9d6c680a11557b924fa01baf09375 Premium Pass 0 76 920 790 2024-03-23T16:22:12Z Jayden 3 wikitext text/x-wiki [[File:Premium Pass comparison.png|thumb|A comparison of some of the Premium Pass features.]] The '''Premium Pass''' is a type of membership that can be purchased using real money. It provides access to a number of new areas and features in [[Brighter Shores]] for the duration of time that the [[account]] owns it. While owning the Premium Pass is required to access the benefits, it will not be an automatically recurring subscription.{{CiteGeneral|url=https://www.gamesradar.com/ahead-of-his-new-mmo-runescape-creator-says-games-have-gotten-too-microtransaction-heavy-our-number-one-aim-is-not-monetization-its-players/|title=Ahead of his new MMO, RuneScape creator says games have gotten too microtransaction-heavy: "Our number one aim is not monetization, it's players"|author=Kaan Serin|date=17 March 2024|accessdate=22 March 2024|quote="One of the key differences is we're probably not going to do auto-recurring payments," continues Gower.}} ==Benefits== There are several benefits to purchasing a Premium Pass: * Access to the [[Mine of Mantuban]] and [[Crenopolis]] * Ability to choose a unique character name, and change your name at any point * Access to exclusive armour dyes * Ability to [[trade]] with other [[player]]s ==References== {{Reflist}} {{Premium Pass}} {{Mechanics}} [[Category:Community]] 0c1ec4bd61533ded12c675683f492c562cadbd39 Category:References that need verification 14 544 922 2024-03-23T17:16:50Z Jayden 3 Created page with "{{Categoryheader|pages|references that need verification|yes|ref tags when the date parameter is over a month old}} {{Hidden category}} [[Category:Maintenance categories]]" wikitext text/x-wiki {{Categoryheader|pages|references that need verification|yes|ref tags when the date parameter is over a month old}} {{Hidden category}} [[Category:Maintenance categories]] e8463eee5d8873691226d1d0af8bd0bc952164e3 Captain Jal Degreene 0 431 923 689 2024-03-23T17:19:50Z Omnes Ferant 23 NPC wikitext text/x-wiki '''Captain Jal Degreene''' is an NPC. In the Main Story, the Player needs clearance from him to get access into the Mine Entrance. [[Category:NPCs]] 4294e34ec8c6fc8e74fc33d8e16317d0edaed5c2 Forum:Forum Grove 110 545 924 2024-03-23T17:30:34Z Habblet 11 temp title wikitext text/x-wiki {{Shortcut|YG|RG}} '''Forum Grove''' is a place where community members can discuss larger changes to the wiki, such as policy proposals or suggestions to substantially redesign content pages. As this page is viewed by a variety of editors, you can expect fair and centralised discussions. Broadly construed, if the community would be interested in the topic, start it here. Even if a discussion is taking place elsewhere, it may be appropriate to announce that discussion here as well. To add a new topic, type the title in the box below and click "Add new topic". <center><big>Please only post here if it concerns the Wiki.</big></center> <center>Threads on in-game discussion, such as requesting a Shield of Arrav partner may be deleted. Additionally, if you have any questions regarding the wiki, they may be answered on [[Brighter Shores:User help|User help]] or [[Brighter Shores:Administrator requests|Administrator requests]].</center> <div style="text-align:center;">'''[[Special:Recentchangeslinked/Category:{{PAGENAME}}|View recent changes for this forum]]''' {{*}} '''[[:Category:{{PAGENAME}}|View alphabetic list of topics]]''' {{*}} '''[[Brighter Shores:Forum Archives|View the archives]]'''</div> ---- <!-- <table width="100%"><tr><td><!-- You could create (or transclude) a forum header here --><!-- </td><td width="50%"> --> <inputbox> type=create prefix=Forum: preload=Template:Forumheader/{{PAGENAME}} buttonlabel=Add new topic </inputbox><!-- </td></tr></table> --> ==Active threads== {| class="discussiontable" style="width:100%" ! class="topic" style="width:55%" | Topic ! class="edited" style="width:25%" | Last edit ! class="edited-by" style="width:20%" | Last author |} <dpl> namespace=Forum category=Forum Grove notcategory=Forum archives by date closed notcategory=Brighter Shores Wiki community noresultsheader=There are no active discussions. shownamespace=false addlasteditor=true addeditdate=true ordermethod=lastedit order=descending mode=userformat include={forumheader}:%TITLE%:%DATE%:%USER% table=style="width:100%; border:0; margin-top:2px" class="dpltable",- tablerow=class="topic" style="width:55%"|[[Forum:%%|%%]],class="edited" style="width:25%"|{{#if:%%|{{#time:H:i&#44; j F Y|%%}}|–}},class="edited-by" style="width:20%"|{{#if:%%|[[User:%%|%%]]|–}} allowcachedresults=false </dpl> ==Archived threads== {| class="discussiontable archive" style="width:100%; margin-bottom:-2px" ! class="topic" style="width:45%" | Topic ! class="rg-archive" style="width:25%" | Archived on ! class="rg-archive" style="width:16%" | Archived by ! class="rg-archive" style="width:14%" | Forum type |} <dpl> namespace=Forum category=Forum archives by date closed shownamespace=false addlasteditor=true ordermethod=sortkey order=descending mode=userformat include={forumheader}:%TITLE%:date:user:type table=style="width:100%; border:0; margin-top:2px" class="dpltable archive",- tablerow=class="topic" style="width:45%"|[[Forum:%%|%%]],class="rg-archive" style="width:25%"|{{#if:%%|{{#time:H:i&#44; j F Y|%%}}|–}},class="rg-archive" style="width:16%"|{{#if:%%|[[User:%%|%%]]|–}},class="rg-archive" style="width:14%"|{{#if:%%|[[:Category:Forum archives/{{#switch:{{lc:%%}}|community=Community|content=Content|discussion=Discussion|miscellaneous|misc=Miscellaneous|policy=Policy|technical|tech=Technical|user-related|user=User-related|clan chat|clan=Clan chat|meta=Meta|%%}}|{{#switch:{{lc:%%}}|community=Community|content=Content|discussion=Discussion|miscellaneous|misc=Miscellaneous|policy=Policy|technical|tech=Technical|user-related|user=User-related|clan chat|clan=Clan chat|meta=Meta|%%}}]]|-}} allowcachedresults=false count={%DPL_count:25%} </dpl> [[Category:Brighter Shores Wiki community]] [[Category:Forum Grove| ]] 82314cda33151a9c75588d437dfc23c995402c36 Category:Forum Grove 14 546 925 2024-03-23T17:31:12Z Habblet 11 Created page with "This is a list of topics from the [[Forum:Forum Grove|Forum Grove]]. [[Category:Brighter Shores Wiki community]]" wikitext text/x-wiki This is a list of topics from the [[Forum:Forum Grove|Forum Grove]]. [[Category:Brighter Shores Wiki community]] b0164eff7eb06d21d6773440d71e5305b659ab44 Brighter Shores:User help 4 547 926 2024-03-23T17:33:04Z Habblet 11 Created page with "__NEWSECTIONLINK__ [[Category:Brighter Shores Wiki community]] {{Otheruses|requests for help from general users|requests for help needing administrator tools|Brighter Shores:Administrator requests}} {{Shortcut|BS:HELP|BS:UH|BS:UR}} Welcome to the '''Brighter Shores Wiki User Help''' page. This page is here to offer a central location for those who are participating with the development of this wiki to make general requests for help. For admin help, Brighter Shores:Admi..." wikitext text/x-wiki __NEWSECTIONLINK__ [[Category:Brighter Shores Wiki community]] {{Otheruses|requests for help from general users|requests for help needing administrator tools|Brighter Shores:Administrator requests}} {{Shortcut|BS:HELP|BS:UH|BS:UR}} Welcome to the '''Brighter Shores Wiki User Help''' page. This page is here to offer a central location for those who are participating with the development of this wiki to make general requests for help. For admin help, [[Brighter Shores:Administrator requests|click here]]. '''Note for requesters''' - Once a solution has been presented and implemented, please add a comment signifying completion, if the request hasn't already been archived. This is to help other users know when to archive completed requests. ==Instructions== {{/userInfo}} {{Archive list}} __TOC__ =Requests= <!-- Please keep request below this line and in chronological order. --> 59967ee9ef24af65196c09dece1f5fd959400f77 Brighter Shores:Administrator requests 4 548 927 2024-03-23T17:33:47Z Habblet 11 Created page with "{{/adminInfo}} '''Note: Please only make requests on this page that specifically require sysop tools to fulfil.'''<br/> Make sure to [[Brighter Shores:Signatures|sign and date your request]] by typing four tildes (<tt><nowiki>~~~~</nowiki></tt>) at the end of your message. {{Archive list}} __TOC__ =Requests= <!-- Please keep request below this line and in chronological order. -->" wikitext text/x-wiki {{/adminInfo}} '''Note: Please only make requests on this page that specifically require sysop tools to fulfil.'''<br/> Make sure to [[Brighter Shores:Signatures|sign and date your request]] by typing four tildes (<tt><nowiki>~~~~</nowiki></tt>) at the end of your message. {{Archive list}} __TOC__ =Requests= <!-- Please keep request below this line and in chronological order. --> db15353d2e271e0ed11cf9ebbae537e231c800fc Brighter Shores:Administrator requests/adminInfo 4 549 928 2024-03-23T17:34:56Z Habblet 11 Created page with "__NEWSECTIONLINK__ <div class="tile" style="max-width:1000px;margin:0 auto;"> {{Shortcut|BS:AH|BS:AR}} ===What this page ''is'' for=== * '''Protecting/unprotecting pages.''' Highly visible pages or content that may have links from outside websites are encouraged to have some level of protection. This can also include a request for administrators to try and calm down [[wikipedia:Wikipedia:Edit war|an edit war]]. This should be done according to the Brighter Shores:Prote..." wikitext text/x-wiki __NEWSECTIONLINK__ <div class="tile" style="max-width:1000px;margin:0 auto;"> {{Shortcut|BS:AH|BS:AR}} ===What this page ''is'' for=== * '''Protecting/unprotecting pages.''' Highly visible pages or content that may have links from outside websites are encouraged to have some level of protection. This can also include a request for administrators to try and calm down [[wikipedia:Wikipedia:Edit war|an edit war]]. This should be done according to the [[Brighter Shores:Protection policy]]. * '''Moving/renaming protected pages and files.''' Due to vandals' mis-use of the page move tool, some pages are protected from being renamed except by an administrator. If you can make a compelling case for a page move, or consensus has been reached on the respective discussion page related to the page you think needs to be renamed, formal requests for the page move can happen here. New contributors to this wiki or "anonymous" users wishing to rename a page that don't have the page move option available to them yet are also welcome to make such requests on this page. * '''Minor edits to protected pages.''' This is mostly on protected templates that can have a substantial impact on the whole wiki if they are changed, so caution is urged when they are modified. * '''Announcements that are intended to be across the whole wiki.''' This appears on [[MediaWiki:Sitenotice]], and should be something that would be of interest to the whole community. * '''Importing pages from another wiki.''' While seldom used for content on this wiki, this is an option that is available for bringing in content from another wiki and preserving its edit history, which requires administrator rights. This may take some time, so be patient if you wish to make this sort of request. MediaWiki importing tools can sometimes be buggy, so be gentle on volunteer administrators doing this task. *'''Reporting vandals and spammers.''' Regular editors are encouraged to revert the vandalism or spam as quickly as possible, and alert an administrator to block the problematic user in order to prevent further damage. * '''Hiding revisions and/or edit summaries.''' In the case of blatant copyright violations, significantly offensive material, identity establishing information, or any other content that poses a major risk to the wiki or its editors, the revision(s) may be hidden using [[Special:RevisionDelete]]. * '''General questions to the administrators of this wiki.''' You might get a faster reply by posting on the [[Brighter Shores:User help|User help]] page; however, the administrators here will try to help you to the best of their abilities. ===What this page ''is not'' for=== *'''Problems that do not require administrator tools to complete.''' Instead, please visit the [[Brighter Shores:User help|user help page]]. *'''Requests to become an administrator.''' If you are interested in learning what an administrator does or how you can become one, please visit the [[Brighter Shores:Administrators|Administrator]]s page for information about administrators and [[Brighter Shores:Requests for adminship|Requests for adminship]] page for the process to become an administrator. *'''General discussions about administrator behaviour.''' Most policy discussions, including policies that govern administrators, ought to be started on the [[Forum:Forum Grove|Forum Grove]] and kept to that forum for input from the larger Brighter Shores Wiki community. *'''Minor requests for deletion.''' If you've accidentally duplicated content or wish to just clean up a mess you've made on the wiki, you should simply tag the page with {{t|D|Reason(s) for nomination}}. </div> <br><div class="center">[https://brightershoreswiki.org/w/RuneScape:Administrator_requests?action=edit&section=new <span class="mw-ui-button mw-ui-progressive">Click here to add a new request</span>]</div> e00418dd5cae92a713a57635a25d4c5e7cbdb81a 944 928 2024-03-23T17:44:29Z Habblet 11 wikitext text/x-wiki __NEWSECTIONLINK__ <div class="tile" style="max-width:1000px;margin:0 auto;"> {{Shortcut|BS:AH|BS:AR}} ===What this page ''is'' for=== * '''Protecting/unprotecting pages.''' Highly visible pages or content that may have links from outside websites are encouraged to have some level of protection. This can also include a request for administrators to try and calm down [[wikipedia:Wikipedia:Edit war|an edit war]]. This should be done according to the [[Brighter Shores:Protection policy]]. * '''Moving/renaming protected pages and files.''' Due to vandals' mis-use of the page move tool, some pages are protected from being renamed except by an administrator. If you can make a compelling case for a page move, or consensus has been reached on the respective discussion page related to the page you think needs to be renamed, formal requests for the page move can happen here. New contributors to this wiki or "anonymous" users wishing to rename a page that don't have the page move option available to them yet are also welcome to make such requests on this page. * '''Minor edits to protected pages.''' This is mostly on protected templates that can have a substantial impact on the whole wiki if they are changed, so caution is urged when they are modified. * '''Announcements that are intended to be across the whole wiki.''' This appears on [[MediaWiki:Sitenotice]], and should be something that would be of interest to the whole community. * '''Importing pages from another wiki.''' While seldom used for content on this wiki, this is an option that is available for bringing in content from another wiki and preserving its edit history, which requires administrator rights. This may take some time, so be patient if you wish to make this sort of request. MediaWiki importing tools can sometimes be buggy, so be gentle on volunteer administrators doing this task. *'''Reporting vandals and spammers.''' Regular editors are encouraged to revert the vandalism or spam as quickly as possible, and alert an administrator to block the problematic user in order to prevent further damage. * '''Hiding revisions and/or edit summaries.''' In the case of blatant copyright violations, significantly offensive material, identity establishing information, or any other content that poses a major risk to the wiki or its editors, the revision(s) may be hidden using [[Special:RevisionDelete]]. * '''General questions to the administrators of this wiki.''' You might get a faster reply by posting on the [[Brighter Shores:User help|User help]] page; however, the administrators here will try to help you to the best of their abilities. ===What this page ''is not'' for=== *'''Problems that do not require administrator tools to complete.''' Instead, please visit the [[Brighter Shores:User help|user help page]]. *'''Requests to become an administrator.''' If you are interested in learning what an administrator does or how you can become one, please visit the [[Brighter Shores:Administrators|Administrator]]s page for information about administrators and [[Brighter Shores:Requests for adminship|Requests for adminship]] page for the process to become an administrator. *'''General discussions about administrator behaviour.''' Most policy discussions, including policies that govern administrators, ought to be started on the [[Forum:Forum Grove|Forum Grove]] and kept to that forum for input from the larger Brighter Shores Wiki community. *'''Minor requests for deletion.''' If you've accidentally duplicated content or wish to just clean up a mess you've made on the wiki, you should simply tag the page with {{t|D|Reason(s) for nomination}}. </div> <br><div class="center">[https://brightershoreswiki.org/w/Brighter_Shores:Administrator_requests?action=edit&section=new <span class="mw-ui-button mw-ui-progressive">Click here to add a new request</span>]</div> e7299740192e9910131e5513e24675fdd640fb74 Brighter Shores:AH 4 550 929 2024-03-23T17:35:19Z Habblet 11 Redirected page to [[Brighter Shores:Administrator requests]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:Administrator requests]] 6126e8d5efe61d72a1734783ac0c699cc9e32e98 Brighter Shores:AR 4 551 930 2024-03-23T17:35:23Z Habblet 11 Redirected page to [[Brighter Shores:Administrator requests]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:Administrator requests]] 6126e8d5efe61d72a1734783ac0c699cc9e32e98 Template:Archive list 10 552 931 2024-03-23T17:36:11Z Habblet 11 Created page with "<includeonly>{| class="archivelist plainlinks" |{{{image|[[File:Replacement filing cabinet.svg|center|40px|Archives]]}}} |- !{{{title|Archives}}} |- |{{#dpl: |namespace = {{NAMESPACEE}} |ordermethod = title |order = ascending |skipthispage = false |resultsheader = ²{#vardefine:n¦%PAGES%}²²{#ifeq:²{lc:{{{basepage}}} }²¦yes¦²{#ifeq:²{lc:²{#explode:²{#titleparts:²{FULLPAGENAME}²¦¦-1}²¦¦0}²}²¦archive¦²{#titleparts:²{FULLPAGENAME}²¦-1}²¦ {{{base..." wikitext text/x-wiki <includeonly>{| class="archivelist plainlinks" |{{{image|[[File:Replacement filing cabinet.svg|center|40px|Archives]]}}} |- !{{{title|Archives}}} |- |{{#dpl: |namespace = {{NAMESPACEE}} |ordermethod = title |order = ascending |skipthispage = false |resultsheader = ²{#vardefine:n¦%PAGES%}²²{#ifeq:²{lc:{{{basepage}}} }²¦yes¦²{#ifeq:²{lc:²{#explode:²{#titleparts:²{FULLPAGENAME}²¦¦-1}²¦¦0}²}²¦archive¦[[²{#titleparts:²{FULLPAGENAME}²¦-1}²¦ {{{basepagetitle¦Current}}} ]]<br>}²}² |titleregexp = ^{{#replace:{{#replace:{{#if:{{#pos:{{lc:{{SUBPAGENAME}}}}|archive}}|{{BASEPAGENAME}}|{{PAGENAME}}}}|&#39;|'}}||_}}/[Aa]rchive_[1-9]$ |format = ,[[%PAGE%¦%NR%]]²{#ifexpr:²{#var:n}² > %NR%¦&nbsp;²{*}²&#32;}², |noresultsheader=<nowiki> </nowiki> }}{{#dpl: |namespace = {{NAMESPACEE}} |ordermethod = title |order = ascending |skipthispage = false |titleregexp = ^{{#replace:{{#replace:{{#if:{{#pos:{{lc:{{SUBPAGENAME}}}}|archive}}|{{BASEPAGENAME}}|{{PAGENAME}}}}|&#39;|'}}||_}}/[Aa]rchive_[1-9][0-9]$ |format = , ²{*}² [[%PAGE%¦²{#expr:%NR%+9}²]], |noresultsheader = <nowiki> </nowiki> |noresultsfooter = <nowiki> </nowiki> }}{{#dpl: |namespace = {{NAMESPACEE}} |ordermethod = title |count = 1 |order = ascending |skipthispage = false |titleregexp = ^{{#replace:{{#replace:{{#if:{{#pos:{{lc:{{SUBPAGENAME}}}}|archive}}|{{BASEPAGENAME}}|{{PAGENAME}}}}|&#39;|'}}||_}}/[Aa]rchive_[1-9]$ |format = ,,, |resultsfooter = ²{#ifeq:²{lc:{{{nlink¦yes}}} }²¦no¦¦<br><span class="createArchive" style="font-size:75%; display:none;">[²{fullurl:²{#ifeq:²{lc:²{#sub:²{#titleparts:²{FULLPAGENAME}²¦¦-1}²¦0¦7}²}²¦archive¦²{#titleparts:²{FULLPAGENAME}²¦-1}²¦²{FULLPAGENAME}²}²/Archive_²{#expr:%PAGES%+1}²¦action=edit&preload=²{urlencode:{{{preload¦Template:Archive_list/Preload}}} }²}² Create next archive]</span>}²²{#ifeq:²{lc:{{{alink¦no}}} }²¦yes¦<br><span class="createArchive" style="font-size:75%; display:none;">[²{fullurl:²{#ifeq:²{lc:²{#sub:²{#titleparts:²{FULLPAGENAME}²¦¦-1}²¦0¦7}²}²¦archive¦²{#titleparts:²{FULLPAGENAME}²¦-1}²¦²{FULLPAGENAME}²}²/Archive_%PAGES%¦action=edit&section=new}² Add to current]</span>}² |noresultsfooter = No archives yet²{#ifeq:²{lc:{{{nlink¦yes}}} }²¦no¦¦<br><span class="createArchive" style="font-size:75%; display:none;">[²{fullurl:²{FULLPAGENAME}²/Archive_1¦action=edit&preload=²{urlencode:{{{preload¦Template:Archive_list/Preload}}} }²}² Create next archive]</span>}² }} |}</includeonly><noinclude><!--This is a preview of the archive list that doesn't use the actual template so as to prevent accidental creation of subpage archives -->{| class="archivelist plainlinks" |[[File:Replacement filing cabinet.svg|center|40px|link=]] |- !Archives |- |No archives yet <br> [{{fullurl:{{FULLPAGENAME}}|action=purge}} <span style="font-size:75%">Create next archive</span>] |}{{/doc}}</noinclude> 38cdb14839d317e8778554f4b2e3b0899c58d34a Template:Archive list/doc 10 553 932 2024-03-23T17:36:58Z Habblet 11 Created page with "{{Documentation}} {{ToC|left}} ==Usage== This template puts a list of page archives at the top of a page in a small table. It automatically adds links to the list as they are created. It also provides a link at the bottom for creating the next archive. It is important to use this link, because if the archive name is not in a standard format, ''[page]''/Archive ''[number]'', the archive will not be detected and added to the list. Archives should also be sequential to allo..." wikitext text/x-wiki {{Documentation}} {{ToC|left}} ==Usage== This template puts a list of page archives at the top of a page in a small table. It automatically adds links to the list as they are created. It also provides a link at the bottom for creating the next archive. It is important to use this link, because if the archive name is not in a standard format, ''[page]''/Archive ''[number]'', the archive will not be detected and added to the list. Archives should also be sequential to allow for proper organisation. Many formatting options are available but archives that are not in the userspace should only use a few of these, to encourage uniformity. Currently 500 archives are supported (the limits of a single Dynamic Pages List), and archives after 500 will not be searched for or listed. ==Syntax== <pre>{{Archive list |title= |align= |alink= |nlink= |preload= |width= |image= |border= |background= |talign= |linkstyle= }}</pre> ===title=== The title will be displayed in bold centered text above the archive list. In the userspace, styles may be applied to the title by putting span tags around it. Defaults to "Archives". It may be deleted if this is the title you want. ===align=== Specifies where the archive box floats. Text will wrap around the box. Values can be left, right, or center. It defaults to right and can be deleted if a right-align is what is desired. ===alink=== Adds a link which will edit the current archive, creating a new section with no header so the additions go to the bottom of the page. It is useful for things such as [[BS:RFD|requests for deletions]] since sections are archived as they are completed. Sets alink equal to yes to turn it on. It is turned off by default, and if you want it off, the field can be deleted. ===nlink=== Adds a link which will create the next archive in the sequence. It supports preloading and by default it preloads [[Template:Archive list/Preload]]. Set nlink to no to turn it off. It is turned on by default and can be deleted if you want it on. ===preload=== Sets which page to preload when a new archive is created with nlink. The default is [[Template:Archive list/Preload]]. ===basepage=== Adds a link to the current page for discussion; not shown by default; named 'Current' by default ===basepagetitle=== Changes the title of the basepage link if it is shown; defaults to 'Current' ===dates=== Adds a hover over that provides dates for the time frame of each archive based on the creation date of the archive and the one before it. ==Userspace only== The following fields should only be used in the Userspace, since archives outside the userspace should have a uniform appearance. All values can be deleted if no change from default is wanted. ===width=== The width of the archive box. The text will wrap if the box is not wide enough, but it looks better if the box is wide enough to accommodate the preset line breaks. As such it may be necessary to increase the width of the box depending on the settings you apply. The default width is 120px. ===image=== The image to be displayed above the title. It can be any image on the wiki, or an image hosted on an external host. No formatting is applied by default, the full image link is required. The default is [[:File:Replacement filing cabinet.svg]]. ====border==== CSS code that is used to determine the border, in the format <code>style width colour</code>. Note that there are no quotes surrounding the input, and that it is not followed by a semicolon. Defaults to <code>solid 1px #CCC</code>. ===background=== The background colour. It can be a hexadecimal code (including the #) a colour name, or colour coordinates. It is not followed by a semicolon. Defaults to #FCFCFC. ====talign==== The alignment of the archive list within the box. Defaults to center. ===linkstyle=== The styles applied to every link in the archive box, including the archive creation link. Its default value is the default link style of your current skin. <includeonly>[[Category:Transclusion templates]]</includeonly> e72948053c0e4a9eb4a4f485f8ccee7ab5f2d703 Template:ToC 10 554 933 2024-03-23T17:37:19Z Habblet 11 Created page with "<div id="toctemplate" style="clear:{{{clear|left}}}; float:{{#switch:{{{align|{{{1|}}}}}}|right=right|center=center|left=left}}; margin:{{#switch:{{{align|{{{1|}}}}}}|right=0 0 1.5em 1.5em|left=0 1.5em 1.5em 0|#default=0}}; width:{{{width|auto}}};" class="nomobile {{#if:{{{limit|}}}| toclimit-{{#expr:{{{limit}}}+1}}}}">__TOC__</div><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <div id="toctemplate" style="clear:{{{clear|left}}}; float:{{#switch:{{{align|{{{1|}}}}}}|right=right|center=center|left=left}}; margin:{{#switch:{{{align|{{{1|}}}}}}|right=0 0 1.5em 1.5em|left=0 1.5em 1.5em 0|#default=0}}; width:{{{width|auto}}};" class="nomobile {{#if:{{{limit|}}}| toclimit-{{#expr:{{{limit}}}+1}}}}">__TOC__</div><noinclude>{{/doc}}</noinclude> 8f47e84425c949cf10267af7ee234e60fdeff3e2 Template:ToC/doc 10 555 934 2024-03-23T17:37:36Z Habblet 11 Created page with "{{Documentation}} The '''ToC''' template aligns the "Table of Contents" in a page. The table may now be able to float at the left or right of a page and the text should wrap around it. This template can improve page layouts in certain cases. It can also force-insert a table of contents in pages where there are not enough sections for an automatic insertion of a "Table of Contents". ==Usage== * {{t|ToC|align}} * {{t|ToC|align|clear|width|limit}} ===Optional parameters=..." wikitext text/x-wiki {{Documentation}} The '''ToC''' template aligns the "Table of Contents" in a page. The table may now be able to float at the left or right of a page and the text should wrap around it. This template can improve page layouts in certain cases. It can also force-insert a table of contents in pages where there are not enough sections for an automatic insertion of a "Table of Contents". ==Usage== * {{t|ToC|align}} * {{t|ToC|align|clear|width|limit}} ===Optional parameters=== <pre>{{ToC | align = the alignment of the table | clear = equivalent of placing <br clear=> above the table; defaults to LEFT | width = the width of the table; defaults to AUTO | limit = the limit of the sections displayed; the default is no limits }}</pre> <includeonly>[[Category:Formatting templates|{{PAGENAME}}]]</includeonly> f80dfe16d8e539cccbeb905a1d3af14598f647a3 935 934 2024-03-23T17:37:43Z Habblet 11 wikitext text/x-wiki {{Documentation}} The '''ToC''' template aligns the "Table of Contents" in a page. The table may now be able to float at the left or right of a page and the text should wrap around it. This template can improve page layouts in certain cases. It can also force-insert a table of contents in pages where there are not enough sections for an automatic insertion of a "Table of Contents". ==Usage== * {{t|ToC|align}} * {{t|ToC|align|clear|width|limit}} ===Optional parameters=== <pre>{{ToC |align = the alignment of the table |clear = equivalent of placing <br clear=> above the table; defaults to LEFT |width = the width of the table; defaults to AUTO |limit = the limit of the sections displayed; the default is no limits }}</pre> <includeonly>[[Category:Formatting templates|{{PAGENAME}}]]</includeonly> 0bbf5aac864ab5eb69c59e1072eb0f9f8afe254a Module:Infobox/doc 828 504 936 867 2024-03-23T17:38:18Z Gau Cho 5 documenting meta = to addRow wikitext text/x-wiki {{documentation}} {{ToC|right}} ==Creating a template step-by-step== ===Import Module:Infobox=== <syntaxhighlight lang="lua"> local infobox = require('Module:Infobox') </syntaxhighlight> ===Unpack the frame arguments=== <syntaxhighlight lang="lua"> function p.main(frame) local args = frame:getParent().args ... </syntaxhighlight> ===Define an Infobox object=== {{Main|Module:Infobox#new}} <syntaxhighlight lang="lua"> local ret = infobox.new(args) </syntaxhighlight> ===Map your arguments to functions=== {{Main|Module:Infobox#defineParams}} <syntaxhighlight lang="lua"> ret:defineParams { ... } </syntaxhighlight> ===Parse your arguments=== {{Main|Module:Infobox#cleanParams}} <syntaxhighlight lang="lua"> ret:cleanParams() </syntaxhighlight> ===Initialise your HTML=== {{Main|Module:Infobox#create}} <syntaxhighlight lang="lua"> ret:create() </syntaxhighlight> ===Name your infobox=== {{Main|Module:Infobox#defineName}} <syntaxhighlight lang="lua"> -- note: we don't use the "Template:" namespace prefix ret:defineName('Infobox FooBar') </syntaxhighlight> ===Give your infobox custom behaviour=== {{Main|Module:Infobox#addClass|Module:Infobox#useSMW|Module:Infobox#defineLinks}} <syntaxhighlight lang="lua"> ret:addClass(...) ret:useSMW({ ... }) </syntaxhighlight> ===Give your infobox a caption=== {{Main|Module:Infobox#caption}} <syntaxhighlight lang="lua"> ret:caption() </syntaxhighlight> ===Format your table=== {{Main|Module:Infobox#addRow}} <syntaxhighlight lang="lua"> ret:addRow{ ... } :addRow{ ... } </syntaxhighlight> ===Finalise your template=== {{Main|Module:Infobox#finish}} <syntaxhighlight lang="lua"> ret:finish() </syntaxhighlight> ==Functions== ===Public functions=== For the example snippets below, <code>ret</code> is an arbitrary infobox initiated as: <syntaxhighlight lang="lua"> local ret = Infobox.new(args) </syntaxhighlight> ====Priority==== Certain functions rely on information created by other functions, and thus must be run in a particular order: {| class="wikitable" ! 0 | * new |- ! 1 | * defineParams |- ! 2 | * create * maxVersion |- ! 3 | * cleanParams * setMaxButtons * noSwitch |- ! 4 | * ''other functions'' |- ! 5 | * finish |} ====nilParam==== <syntaxhighlight lang="lua"> Infobox.nilParam() </syntaxhighlight> Returns the value of the placeholder value <code>Infobox.nil_param</code>. This value is generally not seen, but it is used to fill switchbox data as <code>nil</code> causes unwanted behaviour. ====isDefined==== <syntaxhighlight lang="lua"> Infobox.isDefined(arg) </syntaxhighlight> Checks whether the value <code>arg</code> can be considered as [[Module:Infobox#Defined parameters|defined]]. ====new==== <syntaxhighlight lang="lua"> Infobox.new(args) </syntaxhighlight> Creates a new infobox object with <code>args</code> as a <code>table</code> of values passed from the template invocation. This function also creates the top-level wrapper and sets a metatable for the infobox. ====create==== <syntaxhighlight lang="lua"> ret:create() </syntaxhighlight> Creates the HTML tags used for the infobox itself. Will run <code>maxVersion()</code> if it has not been run already. ====defineName==== <syntaxhighlight lang="lua"> ret:defineName(arg) </syntaxhighlight> Defines the name of the infobox. This should be the base pagename; i.e. no "Template:" namespace prefix. ====setMaxButtons==== <syntaxhighlight lang="lua"> ret:setMaxButtons(n) </syntaxhighlight> Changes the behaviour of buttons by defining the maximum number of buttons that are allowed to appear. If the version count exceeds the button count, their buttons will be replaced with a drop down menu. If not run, the maximum button count will be 5. ====cleanParams==== <syntaxhighlight lang="lua"> ret:cleanParams() </syntaxhighlight> Parses the parameters with their mapped functions. ====defineParams==== <syntaxhighlight lang="lua"> ret:defineParams{ ... } </syntaxhighlight> Maps parameters to functions as defined by a <code>table</code> formatted as such: <syntaxhighlight lang="lua"> { name = <param>, func = <func>, dupes = true }, </syntaxhighlight> <code>param</code> should be a <code>string</code> that names the parameter as it will be in references for use in other functions. <code>func</code> should be a <code>function</code> or instructions on how to find a function. <code>dupes</code> is a meta configuration that allows the parameter to be duplicated in switch data. Normally, these duplicate values are not needed, and they will be deleted if they are the same as the default values after all parameters have been parsed. Some parameters require duplication to function properly, such as display altering parameters defined with <code>linkParams()</code>. If duplicates are not needed, this parameter should be deleted. ;Predefined functions If <code>func</code> is a <code>string</code>, then the module will attempt to use a predefined function. {| class="wikitable" ! Function ! Use |- ! <tt>name</tt> | Uses the parameter named "name". If "name" is blank or undefined, it will use the page name. |- ! <tt>release</tt> | Uses the parameters named "release" and "update" and formats it as such: * If both are defined: <code><nowiki><release> ([[Update:<update>|Update]])</nowiki></code> * If only release is defined: <code><release> (Update unknown)</code> * If release is not defined: <code>? (edit)</code> |- ! <tt>removal</tt> | Uses the parameters named "removal" and "removalupdate" and formats it the same as <code>release</code> |- ! <tt>hasContent</tt> | If the parameter is defined and not blank, it will be used. Otherwise, <code>? (edit)</code> will be used. |- ! <tt>image</tt> | Currently functions the same as <code>hasContent</code> |- ! <tt>numbers</tt> | Removes commas from the parameter and attempts to cast it to a <code>number</code>. If it works, the number is used, otherwise <code>? (edit)</code> |} ;User-defined functions If <code>func</code> is a <code>function</code>, then that function will be used to parse the parameter. User-defined functions allow for more robust formatting and guidelines. As a general practice, user-defined functions should be located under the <code>main</code> functions in the module. It is best to document these functions so that they may be changed by other editors if necessary. In user-defined functions, circumstances where the edit button should be shown should return <code>nil</code>, which is automatically handled by the module. ;Simple and complex definitions Parameters may be mapped to functions in a straightforward manner by simply definining a name of or reference to a function, such as: <syntaxhighlight lang="lua"> ret:defineParams{ { name = 'foo', func = 'hasContent' }, { name = 'bar', func = barFunc } } </syntaxhighlight> Simple definitions only pass the parameter from the master list named <name>. Some parameters need more interaction with other parameters. To do this, we require a complex definition. Complex definitions point to a user-defined function and map what parameters to pass. Complex definitions can also pass literal values or the uncleaned value with the use of flags. Complex functions are defined as <code>table</code> values formatted as such: <syntaxhighlight lang="lua"> func = { name = <funcname>, params = { <paramname>, ... }, flag = <flags> } </syntaxhighlight> A basic example for complex functions is: <syntaxhighlight lang="lua"> ret:defineParams{ { name = 'foo', func = { name = fooFunc, params = { 'bar', 'baz' } }, } -- ... -- ... function fooFunc(arg1,arg2) return arg1..arg2 end </syntaxhighlight> In this example, we have a parameter named "foo", but we use the parameters passed to the template named "bar" and "baz". Parameters are passed in the order listed, so in the above, the parameter <code>bar</code> is used for <code>arg1</code>, and <code>baz</code> is used for <code>arg2</code>. Flags define the behaviour of the parameters named. The following flag behaviours exist: * <code>d</code> - Looks for the cleaned and parsed version of the parameter. If not cleaned, it will use the value passed to the template. If neither exist, it will use <code>nil</code>. This is the default behaviour if no flag is defined. * <code>p</code> - Looks only at the value passed to the template. If it does not exist, it will use <code>nil</code>. * <code>r</code> ''or'' <code>l</code> - Uses the literal (or raw) value. If <code>flag</code> is a <code>string</code>, then the behaviour defined by it will apply to every parameter passed. If <code>flag</code> is a <code>table</code>, then each flag will only define the behaviour of the respective parameter. For example: <syntaxhighlight lang="lua"> ret:defineParams{ { name = 'foo', func = { name = fooFunc, params = { 'foo', 'bar', 'baz' }, flag = { 'd', 'p', 'l' }, }, } </syntaxhighlight> In the above snippet, <code>foo</code> will use the default behaviour and <code>bar</code> will only look for the value passed to the template. The third parameter will use the string literal <code>'baz'</code>. ;Definition order Parameters are defined in the order that they are coded. If a parameter relies on the cleaned value of another parameter, then the parameter dependent on the other will need to be defined after in the definition table. ====addRow==== <syntaxhighlight lang="lua"> ret:addRow(tbl) </syntaxhighlight> Adds a new row to the template with columns and behaviour defined by <code>tbl</code>, which should be a <code>table</code> that holds cells defined as <code>table</code> variables, formatted as such: <syntaxhighlight lang="lua"> { meta = { addClass = 'class' }, -- Optional line, string containing a class to apply to the entire row { celltype, label, <attr1> = <value1>, <attr2> = <value2> ... }, ... } </syntaxhighlight> <code>celltype</code> and <code>label</code> are <code>string</code> values that define the fundamental display of the cell. {| class="wikitable" ! <tt>celltype</tt> ! Output |- ! <tt>th</tt> | Creates a <code><nowiki><th></nowiki></code> tag where the content is the value of <code>label</code> |- ! <tt>td</tt> | Creates a <code><nowiki><td></nowiki></code> tag where the content is the value of <code>label</code> |- ! <tt>argh</tt> | Creates a <code><nowiki><th></nowiki></code> tag where the content is the value of the parameter named <code>label</code> |- ! <tt>argd</tt> | Creates a <code><nowiki><td></nowiki></code> tag where the content is the value of the parameter named <code>label</code> |} The attributes are any of the available attributes defined inside the function. All functions that are ultimately run are documented in the [[mw:Extension:Scribunto/Lua reference manual#HTML library|Lua reference manual]] and are run on the tag for the specific table cell they are called on. {| class="wikitable" ! <tt>attr</tt> ! Type ! Use |- ! <tt>attr</tt> | <tt>table</tt> | Passes the value to <tt>mw.html.attr()</tt> |- ! <tt>css</tt> | <tt>table</tt> | Passes the value to <tt>mw.html.css()</tt> |- ! <tt>colspan</tt> | <tt>number</tt> | Uses the value to run <tt>mw.html.attr('colspan',#)</tt> |- ! <tt>rowspan</tt> | <tt>number</tt> | Uses the value to run <tt>mw.html.attr('rowspan',#)</tt> |- ! <tt>title</tt> | <tt>string</tt> | Uses the value to run <tt>mw.html.attr('title',text)</tt> |- ! <tt>class</tt> | <tt>string</tt> | Passes the value to <tt>mw.html.addClass()</tt> |- ! <tt>class</tt> | <tt>table</tt> | Passes every value in the table to <tt>mw.html.addClass()</tt> |} If the template is a switch infobox, then <code>data-attr-param="<paramname>"</code> will be added to the table cell. This function will return the template, allowing further self functions to be performed. ====wikitext==== <syntaxhighlight lang="lua"> ret:wikitext(txt) </syntaxhighlight> Appends wikitext to the top-level wrapper. Templates, etc. passed directly from Lua code will need explicit preprocessing prior to display properly. This function will return the template, allowing further self functions to be performed. ====caption==== <syntaxhighlight lang="lua"> ret:caption() </syntaxhighlight> Adds a caption to the infobox based off the subject name, using the following priority for the text: * <code>name</code> parameter * <code>name1</code> parameter (if switch infobox) * <code><nowiki>{{PAGENAME}}</nowiki></code> If the template is a switch infobox, this will also add <code>data-attr-param="name"</code> to the <code>caption</code>. This function will return the template, allowing further self functions to be performed. ====attr==== <syntaxhighlight lang="lua"> ret:attr(arg) </syntaxhighlight> Passes <code>arg</code> to <code>mw.html.attr()</code>. This function will return the template, allowing further self functions to be performed. ====float==== <syntaxhighlight lang="lua"> ret:float(dir) </syntaxhighlight> Changes the direction of the CSS style <code>float</code> for the top level wrapper. By default, all infoboxes float <code>right</code>. This function will return the template, allowing further self functions to be performed. ====css==== <syntaxhighlight lang="lua"> ret:css(...) </syntaxhighlight> Passes the arguments to <code>mw.html.css()</code>. This function will return the template, allowing further self functions to be performed. ====addClass==== <syntaxhighlight lang="lua"> ret:addClass(arg) </syntaxhighlight> Passes <code>arg</code> to <code>mw.html.addClass()</code>. This function will return the template, allowing further self functions to be performed. ====addClasses==== <syntaxhighlight lang="lua"> ret:attr(...) </syntaxhighlight> Passes every argument to <code>mw.html.addClass()</code> individually. This function will return the template, allowing further self functions to be performed. ====tag==== <syntaxhighlight lang="lua"> ret:tag(arg) </syntaxhighlight> Passes <code>arg</code> to <code>mw.html.tag()</code>. This function will return the tag (not the template), allowing further self functions to be performed. ====useSMW==== <syntaxhighlight lang="lua"> ret:useSMW(tbl) </syntaxhighlight> Tells the module to create properties for parameters, as well as defining those mappings with <code>tbl</code>, a <code>table</code> whose elements form an associated array formatted as such: <syntaxhighlight lang="lua"> { parameter = property, ... } </syntaxhighlight> When defined, properties will be defined for two separate properties: both "Property:<name>" and "Property:All <name>". If the template holds switch infobox data, then properties will be defined for "Property:<name><X>" for all applicable X. The "All <name>" properties exist to create storage for all applicable values. Keep this in mind, as "Property:<name>" will only ever store the default value. By default, the module will define [[Property:Release date]] and [[Property:Is members only]]. ====noSwitch==== <syntaxhighlight lang="lua"> ret:noSwitch() </syntaxhighlight> Forces the template to use only a single version, the default. ====maxVersion==== <syntaxhighlight lang="lua"> ret:maxVersion() </syntaxhighlight> Returns the number of versions used by the infobox. When run the first time, this function will check and define the version count first. Subsequent calls will simply return the count. ====linkParams==== <syntaxhighlight lang="lua"> ret:linkParams{ paramName = linkedParam, ... } </syntaxhighlight> Links two parameters where one parameter (<code>paramName</code>) is the parameter name of a cell's contents, and <code>linkedParam</code> is the name of the parameter that contains the classes for the specified cell. It will only have an effect on switch infoboxes. Both parameters will need to be defined in the infobox with <code>definedParams</code>. They should be functions of the parameter they operator on and include <code>dupes = true</code> in their definitions. This function must be called only '''after''' calling <code>ret:cleanParams()</code> (and before <code>ret:finish()</code>). Example: grand exchange graphs do not make sense to display for untradeable items within switch infoboxes (e.g. [[ahrim's staff]]); one could use a linkParam to add a class that will display:none table row when switching to untradeable items. In the source code of the infobox, these will be added as such: <syntaxhighlight lang="html5"> <div class="infobox-switch-resources hidden"> <span data-attr-param="param"> <span data-attr-index="0" data-addclass="linkedParam[d]">paramName[d]</span> <span data-attr-index="1" data-addclass="linkedParam[1]">paramName[1]</span> <span data-attr-index="2" data-addclass="linkedParam[2]">paramName[2]</span> </span> </div> </syntaxhighlight> From this, the switch infobox javascript will add the contents of <code>data-addclass</code> to class attribute of the row of the table when the infobox is switched. You will also need to define the classes you are using in global CSS. If the parameter is a th or td element, the class is added to the parent tr. Otherwise, it is added to the element directly (e.g. caption element). ====finish==== Finalises the template and adds remaining required HTML. * Creates hidden tag for switch infobox data (if needed) * Adds [[:Category:Pages that contain switch infobox data]] if in the mainspace * Defines [[Property:Version count]] if in the mainspace * Adds [[RS:SMW|Semantic MediaWiki Data]] in a hidden tag (if needed) *: This data can be viewed on the page itself by using inspect element, but it is not normally visible * Adds infobox bottom links ====param==== <syntaxhighlight lang="lua"> ret:param(arg, flag) </syntaxhighlight> Returns the value of the parameter named <code>arg</code>. The exact format and values are determined by the <code>flag</code>: * <code>d</code> ''or'' empty - default value of the parameter * <code>f</code> ''or'' <code>full</code> - all values of the parameter as a table * <code>s</code> ''or'' <code>switches</code> - table of all switch values (or nil if no switches are present) * <code>s#</code> - switch value at index <code>#</code> * <code>r</code> - if defined, switch value 1, otherwise the default value Note that this function returns the actual table used by the template. If a switch value is equal to <code>Infobox.nil_param</code> for flag <code>s#</code>, then <code>nil</code> will be returned instead; however, when calling specific indices from the tables returned by <code>f</code> or <code>r</code>, the value of <code>Infobox.nil_param</code> will be returned without extra parsing. ====paramDefined==== <syntaxhighlight lang="lua"> ret:paramDefined(arg, flag) </syntaxhighlight> Looks to see if the parameter named <code>arg</code> is [[Module:Infobox#Defined parameters|defined]] at any index, based on instructions from <code>flag</code>: * <code>0</code> ''or'' empty - default value of parameter * <code>#</code> - value of switch at index <code>#</code> * <code>all</code> - true if the parameter is defined with a default or at any switch value ====paramGrep==== <syntaxhighlight lang="lua"> ret:paramGrep(arg, query) </syntaxhighlight> Performs a function or search on every possible value of the parameter named <code>arg</code>. <code>query</code> can be either a <code>function</code>, a <code>string</code>, or a <code>number</code>. If a match is found or the function query returns true, <code>paramGrep</code> will end its search. If <code>query</code> is a function, that function must pass a single argument (the parameter), and return either <code>true</code> or <code>false</code>. If <code>query</code> is a string, then that string will be compared to each value of the parameter. If they match exactly, disregarding casing, then <code>true</code> will be returned. To perform a pattern match on strings, you will need to define <code>query</code> as a function that returns a boolean value based on <code>string.find</code> or <code>mw.ustring.find</code>. If <code>query</code> is a number (or any other type), then it will be compared to each value for a match. Matches are only checked if the type of <code>query</code> matches the value of the parameter; e.g., it is not valid to search for a number (ex: <code>4</code>) inside a string (ex: <code>'455'</code>). ====paramRead==== <syntaxhighlight lang="lua"> Infobox.paramRead(arg, query) </syntaxhighlight> Performs the same function as <code>paramGrep</code>; however, instead of <code>arg</code> being a name of a parameter to look for, it is the table itself. Useful for functions where only the table of parameters is passed, but not the whole infobox. ====categoryData==== <syntaxhighlight lang="lua"> ret:categoryData() </syntaxhighlight> Returns fundamental category data collected during <code>Infobox:cleanParams()</code>. Fields in the category data include: * <code>one_defined</code> - <code>true</code> if at least one possible value of the parameter is defined * <code>all_defined</code> - <code>false</code> if at least one possible value of the parameter is not defined ====addDropLevelVars==== <syntaxhighlight lang="lua"> Infobox:addDropLevelVars(key, paramName) </syntaxhighlight> Used to link infobox versions to specific [[Template:DropsLine|drops table]] versions. Sets a var <code>DropLevel_{key}_{version_name}</code>, where the value is pulled from the value of the given param <code>paramName</code> at each version. If multiple values are set with the same key, the result will be a comma separated string. For example, if an infobox has <code>|version1 = A|level1 = 10</code>, then <code>ret:addDropLevelVars('combat', 'level')</code> will set the variable <code>DropLevel_combat_A = 10</code>. ==Rules== ===Defined parameters=== Parameters are to be considered "defined" if they meet all of the following criteria: * Is not <code>nil</code> * Contains at least one non-whitespace character <code>string.find(param,'%S')</code> * Is not equal to <code>Infobox.nil_param</code> * Does not contain the string <code>'action=edit'</code> 77e9f63af5b42c97f2cba17140e115cd2bf3ebe2 File:Replacement filing cabinet.svg 6 556 937 2024-03-23T17:38:39Z Habblet 11 Original source: https://commons.wikimedia.org/wiki/File:Replacement_filing_cabinet.svg {{PD}} wikitext text/x-wiki == Summary == Original source: https://commons.wikimedia.org/wiki/File:Replacement_filing_cabinet.svg {{PD}} e01a1e726a79a95e8f631d0723147bd6f7a60e45 MediaWiki:Common.less/templates.less 8 25 938 649 2024-03-23T17:40:11Z Habblet 11 less less /* ================== TEMPLATES ==================*/ :root { --keypress-background: @gallery; --keypress-border: @silver; --keypress-color: @mineshaft; } // Template:Archive list .archivelist { background-color: @infobox-background; border: solid 1px @infobox-border-color; box-shadow: @box-shadow; float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } // Template:Shortcut .shortcut { border: 1px solid @infobox-border-color; background: @infobox-background; float: right; font-size: .8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } // Hatnotes: [[Module:Hatnote]] .hatnote, .seealso { font-style: italic; i { font-style: normal; } } // two classes - hatnote gets much customisation in minerva but seealso doesnt div.hatnote, div.seealso { // 0.5em is <p>'s top and bottom margin // 1.6em to match <dd>/<ul> indent margin: .5em 1.6em; & + & { margin-top: -0.5em; } } // Template:Key press .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: @border-radius; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } 3f3a1343c7473bb68436f22ac70f68f81c286a6e MediaWiki:Common.css 8 30 939 811 2024-03-23T17:40:25Z Habblet 11 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.75em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.75em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 2a9d34c5e42d34db57d549c4f46dd6347a14abfa Brighter Shores:User help/userInfo 4 557 940 2024-03-23T17:43:36Z Habblet 11 Created page with "__NEWSECTIONLINK__ <div class="tile" style="max-width:1000px;margin:0 auto;"> ===What this page ''is'' for=== * '''Coding help.''' Requesting help with writing templates, making a nice user page, or any questions on writing wiki-code can be asked here and users will help to the best of their ability. * '''Requests for non-administrative actions.''' If help is required with an action (such as moving a page), asking users here for help with that action is acceptable. * '''..." wikitext text/x-wiki __NEWSECTIONLINK__ <div class="tile" style="max-width:1000px;margin:0 auto;"> ===What this page ''is'' for=== * '''Coding help.''' Requesting help with writing templates, making a nice user page, or any questions on writing wiki-code can be asked here and users will help to the best of their ability. * '''Requests for non-administrative actions.''' If help is required with an action (such as moving a page), asking users here for help with that action is acceptable. * '''Questions on how the wiki works.''' All the policies and processes in use on the Brighter Shores Wiki may seem a little overwhelming at first. If you need help in understanding any of the policies, or more in depth instructions on a process, asking here is a good start. * '''Other questions to the users of the wiki.''' While the [[Forum:Forum Grove|Forum Grove]] is often a better place, a simple question may be asked here for a quick response. * '''An all-in-one place to put things.''' Many of the wiki's procedures are lesser-known, so putting a note here is a good way to do something if the correct procedure is not known. ===What this page ''is not'' for=== * '''Requests for actions involving administrator tools.''' Please use [[BS:AR|Admin requests]] for such requests. * '''Larger discussion with other users on policies or other wide-ranging actions.''' The [[Forum:Forum Grove|Forum Grove]] is a more suitable location to discuss larger changes to the wiki's policies, procedures and high-use templates. * '''General chat (about Brighter Shores or not).''' General chat about Brighter Shores (or an off-topic subject) should be taken to individual user talk pages, or article talk pages when applicable. </div> <br><div class="center">[https://brightershoreswiki.org/w/Brighter_Shores:User_help?action=edit&section=new <span class="mw-ui-button mw-ui-progressive">Click here to add a new request</span>]</div> 5716d59b2030d5b09a61a7d2980649d5633840e2 Brighter Shores:HELP 4 558 941 2024-03-23T17:43:51Z Habblet 11 Redirected page to [[Brighter Shores:User help]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:User help]] 08d5271b652e48f9b361ae93c837882ebc245b31 Brighter Shores:UH 4 559 942 2024-03-23T17:43:54Z Habblet 11 Redirected page to [[Brighter Shores:User help]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:User help]] 08d5271b652e48f9b361ae93c837882ebc245b31 Brighter Shores:UR 4 560 943 2024-03-23T17:43:57Z Habblet 11 Redirected page to [[Brighter Shores:User help]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:User help]] 08d5271b652e48f9b361ae93c837882ebc245b31 Forum:Forum Grove 110 545 945 924 2024-03-23T17:45:38Z Habblet 11 wikitext text/x-wiki {{Shortcut|FG}} '''Forum Grove''' is a place where community members can discuss larger changes to the wiki, such as policy proposals or suggestions to substantially redesign content pages. As this page is viewed by a variety of editors, you can expect fair and centralised discussions. Broadly construed, if the community would be interested in the topic, start it here. Even if a discussion is taking place elsewhere, it may be appropriate to announce that discussion here as well. To add a new topic, type the title in the box below and click "Add new topic". <center><big>Please only post here if it concerns the Wiki.</big></center> <center>Threads on in-game discussion, such as requesting a Shield of Arrav partner may be deleted. Additionally, if you have any questions regarding the wiki, they may be answered on [[Brighter Shores:User help|User help]] or [[Brighter Shores:Administrator requests|Administrator requests]].</center> <div style="text-align:center;">'''[[Special:Recentchangeslinked/Category:{{PAGENAME}}|View recent changes for this forum]]''' {{*}} '''[[:Category:{{PAGENAME}}|View alphabetic list of topics]]''' {{*}} '''[[Brighter Shores:Forum Archives|View the archives]]'''</div> ---- <!-- <table width="100%"><tr><td><!-- You could create (or transclude) a forum header here --><!-- </td><td width="50%"> --> <inputbox> type=create prefix=Forum: preload=Template:Forumheader/{{PAGENAME}} buttonlabel=Add new topic </inputbox><!-- </td></tr></table> --> ==Active threads== {| class="discussiontable" style="width:100%" ! class="topic" style="width:55%" | Topic ! class="edited" style="width:25%" | Last edit ! class="edited-by" style="width:20%" | Last author |} <dpl> namespace=Forum category=Forum Grove notcategory=Forum archives by date closed notcategory=Brighter Shores Wiki community noresultsheader=There are no active discussions. shownamespace=false addlasteditor=true addeditdate=true ordermethod=lastedit order=descending mode=userformat include={forumheader}:%TITLE%:%DATE%:%USER% table=style="width:100%; border:0; margin-top:2px" class="dpltable",- tablerow=class="topic" style="width:55%"|[[Forum:%%|%%]],class="edited" style="width:25%"|{{#if:%%|{{#time:H:i&#44; j F Y|%%}}|–}},class="edited-by" style="width:20%"|{{#if:%%|[[User:%%|%%]]|–}} allowcachedresults=false </dpl> ==Archived threads== {| class="discussiontable archive" style="width:100%; margin-bottom:-2px" ! class="topic" style="width:45%" | Topic ! class="rg-archive" style="width:25%" | Archived on ! class="rg-archive" style="width:16%" | Archived by ! class="rg-archive" style="width:14%" | Forum type |} <dpl> namespace=Forum category=Forum archives by date closed shownamespace=false addlasteditor=true ordermethod=sortkey order=descending mode=userformat include={forumheader}:%TITLE%:date:user:type table=style="width:100%; border:0; margin-top:2px" class="dpltable archive",- tablerow=class="topic" style="width:45%"|[[Forum:%%|%%]],class="rg-archive" style="width:25%"|{{#if:%%|{{#time:H:i&#44; j F Y|%%}}|–}},class="rg-archive" style="width:16%"|{{#if:%%|[[User:%%|%%]]|–}},class="rg-archive" style="width:14%"|{{#if:%%|[[:Category:Forum archives/{{#switch:{{lc:%%}}|community=Community|content=Content|discussion=Discussion|miscellaneous|misc=Miscellaneous|policy=Policy|technical|tech=Technical|user-related|user=User-related|clan chat|clan=Clan chat|meta=Meta|%%}}|{{#switch:{{lc:%%}}|community=Community|content=Content|discussion=Discussion|miscellaneous|misc=Miscellaneous|policy=Policy|technical|tech=Technical|user-related|user=User-related|clan chat|clan=Clan chat|meta=Meta|%%}}]]|-}} allowcachedresults=false count={%DPL_count:25%} </dpl> [[Category:Brighter Shores Wiki community]] [[Category:Forum Grove| ]] b85ad2c768f8c896cfb080d8bd7dd812ba50c77d 947 945 2024-03-23T17:46:01Z Habblet 11 wikitext text/x-wiki {{Shortcut|BS:FG}} '''Forum Grove''' is a place where community members can discuss larger changes to the wiki, such as policy proposals or suggestions to substantially redesign content pages. As this page is viewed by a variety of editors, you can expect fair and centralised discussions. Broadly construed, if the community would be interested in the topic, start it here. Even if a discussion is taking place elsewhere, it may be appropriate to announce that discussion here as well. To add a new topic, type the title in the box below and click "Add new topic". <center><big>Please only post here if it concerns the Wiki.</big></center> <center>Threads on in-game discussion, such as requesting a Shield of Arrav partner may be deleted. Additionally, if you have any questions regarding the wiki, they may be answered on [[Brighter Shores:User help|User help]] or [[Brighter Shores:Administrator requests|Administrator requests]].</center> <div style="text-align:center;">'''[[Special:Recentchangeslinked/Category:{{PAGENAME}}|View recent changes for this forum]]''' {{*}} '''[[:Category:{{PAGENAME}}|View alphabetic list of topics]]''' {{*}} '''[[Brighter Shores:Forum Archives|View the archives]]'''</div> ---- <!-- <table width="100%"><tr><td><!-- You could create (or transclude) a forum header here --><!-- </td><td width="50%"> --> <inputbox> type=create prefix=Forum: preload=Template:Forumheader/{{PAGENAME}} buttonlabel=Add new topic </inputbox><!-- </td></tr></table> --> ==Active threads== {| class="discussiontable" style="width:100%" ! class="topic" style="width:55%" | Topic ! class="edited" style="width:25%" | Last edit ! class="edited-by" style="width:20%" | Last author |} <dpl> namespace=Forum category=Forum Grove notcategory=Forum archives by date closed notcategory=Brighter Shores Wiki community noresultsheader=There are no active discussions. shownamespace=false addlasteditor=true addeditdate=true ordermethod=lastedit order=descending mode=userformat include={forumheader}:%TITLE%:%DATE%:%USER% table=style="width:100%; border:0; margin-top:2px" class="dpltable",- tablerow=class="topic" style="width:55%"|[[Forum:%%|%%]],class="edited" style="width:25%"|{{#if:%%|{{#time:H:i&#44; j F Y|%%}}|–}},class="edited-by" style="width:20%"|{{#if:%%|[[User:%%|%%]]|–}} allowcachedresults=false </dpl> ==Archived threads== {| class="discussiontable archive" style="width:100%; margin-bottom:-2px" ! class="topic" style="width:45%" | Topic ! class="rg-archive" style="width:25%" | Archived on ! class="rg-archive" style="width:16%" | Archived by ! class="rg-archive" style="width:14%" | Forum type |} <dpl> namespace=Forum category=Forum archives by date closed shownamespace=false addlasteditor=true ordermethod=sortkey order=descending mode=userformat include={forumheader}:%TITLE%:date:user:type table=style="width:100%; border:0; margin-top:2px" class="dpltable archive",- tablerow=class="topic" style="width:45%"|[[Forum:%%|%%]],class="rg-archive" style="width:25%"|{{#if:%%|{{#time:H:i&#44; j F Y|%%}}|–}},class="rg-archive" style="width:16%"|{{#if:%%|[[User:%%|%%]]|–}},class="rg-archive" style="width:14%"|{{#if:%%|[[:Category:Forum archives/{{#switch:{{lc:%%}}|community=Community|content=Content|discussion=Discussion|miscellaneous|misc=Miscellaneous|policy=Policy|technical|tech=Technical|user-related|user=User-related|clan chat|clan=Clan chat|meta=Meta|%%}}|{{#switch:{{lc:%%}}|community=Community|content=Content|discussion=Discussion|miscellaneous|misc=Miscellaneous|policy=Policy|technical|tech=Technical|user-related|user=User-related|clan chat|clan=Clan chat|meta=Meta|%%}}]]|-}} allowcachedresults=false count={%DPL_count:25%} </dpl> [[Category:Brighter Shores Wiki community]] [[Category:Forum Grove| ]] 679830036750579bfdbf7ad69e95bdc497191ac4 948 947 2024-03-23T17:46:14Z Habblet 11 wikitext text/x-wiki {{Shortcut|FG}} '''Forum Grove''' is a place where community members can discuss larger changes to the wiki, such as policy proposals or suggestions to substantially redesign content pages. As this page is viewed by a variety of editors, you can expect fair and centralised discussions. Broadly construed, if the community would be interested in the topic, start it here. Even if a discussion is taking place elsewhere, it may be appropriate to announce that discussion here as well. To add a new topic, type the title in the box below and click "Add new topic". <center><big>Please only post here if it concerns the Wiki.</big></center> <center>Threads on in-game discussion, such as requesting a Shield of Arrav partner may be deleted. Additionally, if you have any questions regarding the wiki, they may be answered on [[Brighter Shores:User help|User help]] or [[Brighter Shores:Administrator requests|Administrator requests]].</center> <div style="text-align:center;">'''[[Special:Recentchangeslinked/Category:{{PAGENAME}}|View recent changes for this forum]]''' {{*}} '''[[:Category:{{PAGENAME}}|View alphabetic list of topics]]''' {{*}} '''[[Brighter Shores:Forum Archives|View the archives]]'''</div> ---- <!-- <table width="100%"><tr><td><!-- You could create (or transclude) a forum header here --><!-- </td><td width="50%"> --> <inputbox> type=create prefix=Forum: preload=Template:Forumheader/{{PAGENAME}} buttonlabel=Add new topic </inputbox><!-- </td></tr></table> --> ==Active threads== {| class="discussiontable" style="width:100%" ! class="topic" style="width:55%" | Topic ! class="edited" style="width:25%" | Last edit ! class="edited-by" style="width:20%" | Last author |} <dpl> namespace=Forum category=Forum Grove notcategory=Forum archives by date closed notcategory=Brighter Shores Wiki community noresultsheader=There are no active discussions. shownamespace=false addlasteditor=true addeditdate=true ordermethod=lastedit order=descending mode=userformat include={forumheader}:%TITLE%:%DATE%:%USER% table=style="width:100%; border:0; margin-top:2px" class="dpltable",- tablerow=class="topic" style="width:55%"|[[Forum:%%|%%]],class="edited" style="width:25%"|{{#if:%%|{{#time:H:i&#44; j F Y|%%}}|–}},class="edited-by" style="width:20%"|{{#if:%%|[[User:%%|%%]]|–}} allowcachedresults=false </dpl> ==Archived threads== {| class="discussiontable archive" style="width:100%; margin-bottom:-2px" ! class="topic" style="width:45%" | Topic ! class="rg-archive" style="width:25%" | Archived on ! class="rg-archive" style="width:16%" | Archived by ! class="rg-archive" style="width:14%" | Forum type |} <dpl> namespace=Forum category=Forum archives by date closed shownamespace=false addlasteditor=true ordermethod=sortkey order=descending mode=userformat include={forumheader}:%TITLE%:date:user:type table=style="width:100%; border:0; margin-top:2px" class="dpltable archive",- tablerow=class="topic" style="width:45%"|[[Forum:%%|%%]],class="rg-archive" style="width:25%"|{{#if:%%|{{#time:H:i&#44; j F Y|%%}}|–}},class="rg-archive" style="width:16%"|{{#if:%%|[[User:%%|%%]]|–}},class="rg-archive" style="width:14%"|{{#if:%%|[[:Category:Forum archives/{{#switch:{{lc:%%}}|community=Community|content=Content|discussion=Discussion|miscellaneous|misc=Miscellaneous|policy=Policy|technical|tech=Technical|user-related|user=User-related|clan chat|clan=Clan chat|meta=Meta|%%}}|{{#switch:{{lc:%%}}|community=Community|content=Content|discussion=Discussion|miscellaneous|misc=Miscellaneous|policy=Policy|technical|tech=Technical|user-related|user=User-related|clan chat|clan=Clan chat|meta=Meta|%%}}]]|-}} allowcachedresults=false count={%DPL_count:25%} </dpl> [[Category:Brighter Shores Wiki community]] [[Category:Forum Grove| ]] b85ad2c768f8c896cfb080d8bd7dd812ba50c77d FG 0 561 946 2024-03-23T17:45:47Z Habblet 11 Redirected page to [[Forum:Forum Grove]] wikitext text/x-wiki #REDIRECT [[Forum:Forum Grove]] 827d0794c13dd4fea3549f3a41ab3df53ac618af Brighter Shores:ABOUT 4 565 952 2024-03-23T17:49:32Z Habblet 11 Redirected page to [[Brighter Shores:About]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:About]] cb91624f92be801de8b06f2cbd711659080b4cb0 Brighter Shores:BSW 4 566 953 2024-03-23T17:49:36Z Habblet 11 Redirected page to [[Brighter Shores:About]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:About]] cb91624f92be801de8b06f2cbd711659080b4cb0 Brighter Shores:WIKI 4 567 954 2024-03-23T17:49:39Z Habblet 11 Redirected page to [[Brighter Shores:About]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:About]] cb91624f92be801de8b06f2cbd711659080b4cb0 Template:Purge 10 569 956 2024-03-23T17:52:47Z Habblet 11 Created page with "<{{{tag|small}}} class="plainlinks {{#if:{{{noinplace|}}}||jsPurgeLink}}" id="res" title="{{{hover|If this information seems incorrect, click here to force an update.}}}">[{{fullurl:{{FULLPAGENAME}}#res|action=purge}} {{{1|(update)}}}]</{{{tag|small}}}><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <{{{tag|small}}} class="plainlinks {{#if:{{{noinplace|}}}||jsPurgeLink}}" id="res" title="{{{hover|If this information seems incorrect, click here to force an update.}}}">[{{fullurl:{{FULLPAGENAME}}#res|action=purge}} {{{1|(update)}}}]</{{{tag|small}}}><noinclude>{{/doc}}</noinclude> 309711647b62ba4d74449ecd97ffe6b61a4726d2 Template:Purge/doc 10 570 957 2024-03-23T17:56:30Z Habblet 11 Created page with "{{Documentation}} Place this template on a page that uses any sort of time based parser to display information to allow readers to see up to date information. It includes its own anchor (<code>#res</code>) so that clicking the link will take the reader right back to where they clicked it. By default, the tag used will be a <code>small</code> tag (but can be changed), and the link will be an in-place style purge (uses javascript to purge via the API and reload the page)..." wikitext text/x-wiki {{Documentation}} Place this template on a page that uses any sort of time based parser to display information to allow readers to see up to date information. It includes its own anchor (<code>#res</code>) so that clicking the link will take the reader right back to where they clicked it. By default, the tag used will be a <code>small</code> tag (but can be changed), and the link will be an in-place style purge (uses javascript to purge via the API and reload the page) (but can be suppressed to purge via ?action=purge instead, which requires a confirmation). ==Usage== <pre>{{Purge|optional text|tag=(optional) <small> by default|noinplace=(optional) suppress in-place purging|hover=(optional) input custom mouse-over text}}</pre> ===Examples=== <pre>This is the list of active discussions.<sup>{{Purge}}</sup></pre> This is the list of active discussions.<sup>{{Purge}}</sup> <pre>This is the list of active discussions. Click {{Purge|here|tag=span}} to purge the page.</pre> This is the list of active discussions. Click {{Purge|here|tag=span}} to purge the page. <pre>This is the list of active discussions. Click {{Purge|here|tag=span|noinplace=true}} to purge the page via ?action=purge.</pre> <includeonly>[[Category:Formatting templates]]</includeonly> 4b7f2505901bfc65f5dc2885c5b5902a34f260c9 Category:Requests 14 573 960 2024-03-23T18:30:28Z Habblet 11 Created page with "{{Categoryheader|pages|requests for Wiki help||}} [[Category:Maintenance]]" wikitext text/x-wiki {{Categoryheader|pages|requests for Wiki help||}} [[Category:Maintenance]] 9e9b7ca5c0c5b1f2b79f1acbfa27fb9ba71438b6 Template:Redirect3 10 577 964 2024-03-23T18:31:36Z Habblet 11 Created page with "{{Hatnote|"{{{1}}}" redirects here. {{{2}}}.}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{Hatnote|"{{{1}}}" redirects here. {{{2}}}.}}<noinclude>{{/doc}}</noinclude> 41848570b9c3732f5ab114b00df06e4aefec5501 Template:Redirect3/doc 10 578 965 2024-03-23T18:32:10Z Habblet 11 Created page with "{{Documentation}} This template displays text showing what redirects to a certain page. ==Usage== This template can be used by entering the following onto a relevant page. <pre>{{Redirect3|Location|Description including links}}</pre> ==location== This parameter is replaced by the location. ==description== This parameter is replaced by a description of the redirect. ==See also== * [[Template:Redirect]] * [[Template:Otheruses]] * [[Template:See also]] * RuneScape:Re..." wikitext text/x-wiki {{Documentation}} This template displays text showing what redirects to a certain page. ==Usage== This template can be used by entering the following onto a relevant page. <pre>{{Redirect3|Location|Description including links}}</pre> ==location== This parameter is replaced by the location. ==description== This parameter is replaced by a description of the redirect. ==See also== * [[Template:Redirect]] * [[Template:Otheruses]] * [[Template:See also]] * [[RuneScape:Redirecting]] * [[Wikipedia:Template:Redirect3|Redirect3]], the template at Wikipedia <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> 923714c3fba229a7a4adf192f8e073d2f4ebbeb0 Factions 0 72 966 888 2024-03-23T18:37:47Z Habblet 11 wikitext text/x-wiki [[File:Factions.jpg|thumb|right|Examples of the three factions.]] '''Factions''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. Factions are described as follows on the Official Brighter Shores Website. "You will discover powerful magic sources and become one of the legendary classes of old: Cryoknight, Guardian or Hammermage. Which is fortunate, because something is corrupting the deepest reaches of the nearby Hopeforest, and only through the strength of your new-found powers will you be able to deal with it." {{CiteGeneral|url=https://brightershores.com|title=Official Brighter Shores Website}} ==Factions== * The [[Cryoknight]] ([[File:Cryoknight icon.svg|18px]]) faction is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]]. * [[Guardian]]s ([[File:Guardian icon.svg|18px]]) use ranged combat, preferring to wield weapons like [[crossbow]]s. * The [[Hammermage]] ([[File:Hammermage icon.svg|18px]]) faction fights using a mix of melee and magic. ==References== {{Reflist}} {{Factions}} {{Mechanics}} aff33a12201b6a9525990b57b246efa0c4e52dca 969 966 2024-03-23T19:19:31Z Jayden 3 move quote to {{quote2}} template wikitext text/x-wiki [[File:Factions.jpg|thumb|right|Examples of the three factions.]] {{Quote2|You will discover powerful magic sources and become one of the legendary classes of old: Cryoknight, Guardian or Hammermage. Which is fortunate, because something is corrupting the deepest reaches of the nearby Hopeforest, and only through the strength of your new-found powers will you be able to deal with it.|Official website{{CiteGeneral|url=https://brightershores.com|title=Official Brighter Shores website|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/BaZ8w|archivedate=23 March 2024}}}} '''Factions''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style. ==Factions== * The [[Cryoknight]] ([[File:Cryoknight icon.svg|18px]]) faction is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]]. * [[Guardian]]s ([[File:Guardian icon.svg|18px]]) use ranged combat, preferring to wield weapons like [[crossbow]]s. * The [[Hammermage]] ([[File:Hammermage icon.svg|18px]]) faction fights using a mix of melee and magic. ==References== {{Reflist}} {{Factions}} {{Mechanics}} d9ff53ba2beae1f54a11c404da68079b0f01d8d8 Template:Quote2 10 579 967 2024-03-23T19:16:05Z Jayden 3 Created page with "{| align="{{{align|center}}}" style="border-collapse:collapse; border-style:none; background-color:transparent;" | class="quotation-mark" style="width:20px; vertical-align:top; font-size:{{#switch:{{{size|{{{4|{{{quotewidth|{{{width|20px}}}}}}}}}}}} |10px=20px |30px=60px |40px=80px |50px=100px |60px=120px |#default=40px}}; font-family:serif; font-weight:bold; text-align:left; padding:10px 10px;" | “ | style="vertical-align:center; padding:4px 10px;" | {{{quote|{{{1|{{{..." wikitext text/x-wiki {| align="{{{align|center}}}" style="border-collapse:collapse; border-style:none; background-color:transparent;" | class="quotation-mark" style="width:20px; vertical-align:top; font-size:{{#switch:{{{size|{{{4|{{{quotewidth|{{{width|20px}}}}}}}}}}}} |10px=20px |30px=60px |40px=80px |50px=100px |60px=120px |#default=40px}}; font-family:serif; font-weight:bold; text-align:left; padding:10px 10px;" | “ | style="vertical-align:center; padding:4px 10px;" | {{{quote|{{{1|{{{quotetext|<noinclude>Text of the quote</noinclude>}}}}}}}}} | class="quotation-mark" style="width:20px; vertical-align:bottom; font-size:{{#switch:{{{size|{{{4|{{{quotewidth|{{{width|20px}}}}}}}}}}}} |10px=20px |30px=60px |40px=80px |50px=100px |60px=120px |#default=40px}}; font-family:serif; font-weight:bold; text-align:right; padding:10px 10px;" | ” |- {{#if:{{{2|{{{personquoted|}}}}}}{{{3|{{{quotesource|}}}}}}| {{!}} &nbsp; {{!}} style="vertical-align:top" {{!}}{{#if:{{{2|{{{personquoted|<noinclude>Origin</noinclude>}}}}}}|<div style="line-height:1em;text-align: right"><cite style="font-style:normal;">&mdash; {{{person|{{{2|{{{personquoted|}}}}}}}}} {{#if:{{{3|{{{quotesource|<noinclude>Source</noinclude>}}}}}}|{{{3|{{{quotesource|}}}}}}}}</cite></div>}}}} |}<noinclude>{{/doc}} [[Category:Formatting templates|{{PAGENAME}}]] </noinclude> 025a2af58b04d360572090051de2cf0e0ce57f01 Template:Quote2/doc 10 580 968 2024-03-23T19:16:54Z Jayden 3 Created page with "{{Documentation}} The '''quote2''' template provides a centered, borderless quotation, with scalable, non-clickable graphic quotation marks, and optional attribution of the source of the quote. Can be used with or without additional parameters. ==Usage== {{t|quote2|quote|attribution|source}} ==Parameters== * first parameter (mandatory) - the quote itself * second parameter (optional) - attribution * third parameter (optional) - source; if any text is assigned to the ''..." wikitext text/x-wiki {{Documentation}} The '''quote2''' template provides a centered, borderless quotation, with scalable, non-clickable graphic quotation marks, and optional attribution of the source of the quote. Can be used with or without additional parameters. ==Usage== {{t|quote2|quote|attribution|source}} ==Parameters== * first parameter (mandatory) - the quote itself * second parameter (optional) - attribution * third parameter (optional) - source; if any text is assigned to the ''source'' field, it will be rendered as a browser [[wikipedia:Tooltip|tooltip]]. <includeonly>[[Category:Formatting templates|{{PAGENAME}}]]</includeonly> 1baead2479d4ab18e48db8cc72216fd211a83f2c Template:NamedRef 10 581 970 2024-03-23T19:30:51Z Jayden 3 Created page with "<includeonly>{{#invoke:References|namedref}}</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>{{#invoke:References|namedref}}</includeonly><noinclude>{{/doc}}</noinclude> 62b84ceb7a0311f003bf0e60674043dc7ac4f86a Template:NamedRef/doc 10 582 971 2024-03-23T19:31:16Z Jayden 3 Created page with "{{Documentation}} __NOTOC__ {{Invokes|References}} This template is used to quickly re-use a named reference. This works with references named using any method, be that a Cite template, or using ref tags normally. ==Usage== ===Basic=== The syntax is: <pre>{{NamedRef|name}}</pre> You must name a reference before inserting this template or it will trigger an error message. ===Groups=== If you want to refer to a named reference that is part of a group, you can use the s..." wikitext text/x-wiki {{Documentation}} __NOTOC__ {{Invokes|References}} This template is used to quickly re-use a named reference. This works with references named using any method, be that a Cite template, or using ref tags normally. ==Usage== ===Basic=== The syntax is: <pre>{{NamedRef|name}}</pre> You must name a reference before inserting this template or it will trigger an error message. ===Groups=== If you want to refer to a named reference that is part of a group, you can use the second parameter: <pre>{{NamedRef|name|group}}</pre> ===Named parameters=== If you prefer, you can use named parameters instead - to make it clearer which parameter is which, etc. <pre>{{NamedRef|name=name|group=group}}</pre> {{citations}} <includeonly>[[Category:Reference templates]]</includeonly> ffc1c52c09db38ec5dc3427d2b6130a520d8c815 Brighter Shores 0 51 972 821 2024-03-23T19:31:59Z Jayden 3 more info from recent interview wikitext text/x-wiki [[File:Brighter Shores key art.jpg|thumb|The promotional image for Brighter Shores.]] '''''Brighter Shores''''' is an upcoming game developed by [[Fen Research]] and designed by [[Andrew Gower]]. It will be released in Q3 2024, and will be available for Windows and macOS (Apple Silicon and Intel chipsets). The game is {{wp|free-to-play}}, but players can access additional features and content by purchasing the [[Premium Pass]]. Brighter Shores features an ongoing story with hundreds of hours of gameplay.{{CiteGeneral|url=https://store.steampowered.com/app/2791440/Brighter_Shores/|title=Brighter Shores on Steam|author=Valve|date=22 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/eYgMA|archivedate=22 March 2024}} New content is released in the game in an episodic format. Players start their journey in [[Hopeport]], as a member of the town guard. ==History== The game has been under development in some form or another since at least 2014 by Gower,{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767945130487493010|author=Andrew Gower|date=13 March 2024|accessdate=22 March 2024|quote=Over 10 years!|archiveurl=https://archive.is/rhmtZ|archivedate=22 March 2024}} and was announced officially on 13 March 2024. An initial two-minute trailer was released, which depicts [[player]]s engaging in [[combat]], several [[profession]]s, and a variety of different [[location]]s.{{CiteGeneral|url=https://www.youtube.com/watch?v=ASIbNq_pLQQ|title=Brighter Shores Gameplay Trailer|author=MMOs.com|date=13 March 2024|accessdate=22 March 2024}} Part of the reason that Brighter Shores took a long time to develop is because Gower decided to create a new game engine from scratch, as opposed to using a popular engine like {{wp|Unreal Engine}} or {{wp|Unity}}.{{CiteGeneral|url=https://www.gamesradar.com/runescape-creator-answers-our-biggest-questions-about-his-new-mmo-brighter-shores-classes-professions-monetization-and-a-ttrpg-open-world/|title=RuneScape creator answers our biggest questions about his new MMO Brighter Shores: classes, professions, monetization, and a TTRPG open world|author=Austin Wood|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/AxMwI|archivedate=23 March 2024|name=griv}} He had previously created his own engine for his previous MMORPG {{wp|RuneScape}} in the early 2000s, programmed in {{wp|Java}}. The engine that Gower built is called [[Fenforge]], and had previously been used by at least two games prior to being used for Brighter Shores. Gower has said that active development on Brighter Shores officially started in 2017.{{NamedRef|griv}} A closed beta is planned in 2024 prior to the release of the game.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1767973447425003776|author=Andrew Gower|date=13 March 2024|accessdate=23 March 2024|quote=There will be a closed beta. I will post more about it on x/twitter closer to the time.|archiveurl=https://archive.is/BknSB|archivedate=23 March 2024}} ==Trivia== * The logo of Brighter Shores features [[Hopeport Obelisk]]. ==External links== * [https://store.steampowered.com/app/2791440/Brighter%20Shores/ Steam page] * [https://brightershores.com/ Official website] ==References== {{Reflist}} [[Category:Games]] [[Category:Fen Research]] eae5245e3030642337105e16f60e09f068fd4609 Professions 0 56 973 797 2024-03-23T19:37:42Z Jayden 3 more info from recent interview wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. Most professions can either be trained by the player actively playing the game, or [[Passive activity|passively]] while the game is closed. As the player progresses through the game, more professions will become available for the player to learn. Players aren't limited to once profession at a time; they can utilise multiple at once.{{CiteGeneral|url=https://www.gamesradar.com/runescape-creator-answers-our-biggest-questions-about-his-new-mmo-brighter-shores-classes-professions-monetization-and-a-ttrpg-open-world/|title=RuneScape creator answers our biggest questions about his new MMO Brighter Shores: classes, professions, monetization, and a TTRPG open world|author=Austin Wood|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/AxMwI|archivedate=23 March 2024|name=griv}} ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> ==References== {{Reflist}} {{Professions}} {{Mechanics}} 5c77db291fc927e932ebd19742c315914b6f6b92 974 973 2024-03-23T19:39:29Z Jayden 3 this is probably better off as a section here rather than a separate page wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. Most professions can either be trained by the player actively playing the game, or passively while the game is closed. As the player progresses through the game, more professions will become available for the player to learn. Players aren't limited to once profession at a time; they can utilise multiple at once.{{CiteGeneral|url=https://www.gamesradar.com/runescape-creator-answers-our-biggest-questions-about-his-new-mmo-brighter-shores-classes-professions-monetization-and-a-ttrpg-open-world/|title=RuneScape creator answers our biggest questions about his new MMO Brighter Shores: classes, professions, monetization, and a TTRPG open world|author=Austin Wood|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/AxMwI|archivedate=23 March 2024|name=griv}} ==Passive training== Unlike other similar MMOs, players can continue to perform certain profession-related activities while logged out of the game. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> ==References== {{Reflist}} {{Professions}} {{Mechanics}} 8f55ea7ddb20c9d635ca91981c7cbc4675fcad9d Passive activity 0 200 975 552 2024-03-23T19:39:55Z Jayden 3 Redirected page to [[Professions#Passive training]] wikitext text/x-wiki #REDIRECT [[Professions#Passive training]] 4c37fa20aa7ec022c193b0ba116870e82080dfa6 Passive 0 583 976 2024-03-23T19:40:06Z Jayden 3 Redirected page to [[Professions#Passive training]] wikitext text/x-wiki #REDIRECT [[Professions#Passive training]] 4c37fa20aa7ec022c193b0ba116870e82080dfa6 MediaWiki:Gadgets-definition 8 6 977 587 2024-03-23T20:48:10Z BlackHawk 10 wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. For scripts that are intended for use on a lot of pages, it may be a good idea to propose it on the [[Forum:Forum Grove|Yew Grove]] first. Gadgets which can be enabled/disabled by the user (on [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]]) should have a description created on ''Mediawiki:Gadget-gadgetname''. ==Core== * autocollapse[ResourceLoader|type=general|default|hidden|dependencies=mediawiki.Uri]|autocollapse.js * autosort[ResourceLoader|type=general|dependencies=ext.gadget.bsw-util,ext.gadget.highlightTable|targets=desktop,mobile|default]|autosort.js * bsw-util[ResourceLoader|dependencies=mediawiki.util|targets=desktop,mobile|type=general|default|hidden]|bsw-util.js * InstantCollapsible[ResourceLoader|default|hidden|dependencies=jquery.makeCollapsible|type=general]|InstantCollapsible.js * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js * navboxToggle[ResourceLoader|targets=mobile|dependencies=ext.gadget.rsw-util|type=general|default|hidden]|navboxToggle.js * titleparenthesis[ResourceLoader|actions=view|type=general|default|hidden]|titleparenthesis.js|titleparenthesis.css * tooltips[ResourceLoader|type=general|default|hidden]|tooltips.js * uncheckfileredirects[ResourceLoader|type=general|rights=suppressredirect|default|hidden]|UncheckFileRedirect.js ==Tools== * batchupload[ResourceLoader|type=general|default|hidden|dependencies=mediawiki.util|rights=upload]|batchupload.js * contributions[ResourceLoader|type=general|default|dependencies=ext.gadget.bsw-util]|contributions.js * dropdown[ResourceLoader|type=general|dependencies=mediawiki.util,mediawiki.api|default]|dropdown.js * editCount[ResourceLoader|type=general|dependencies=ext.gadget.bsw-util]|editCount.js * ezcopy[ResourceLoader|type=general|targets=desktop]|ezcopy.js|ezcopy.css * hotcat[ResourceLoader|rights=upload|type=general]|hotcat.js * Message-names[ResourceLoader|rights=editinterface|type=general|dependencies=mediawiki.util]|Message-names.js * newPage[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util|rights=createpage]|newPage.js * purge[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util,ext.smw.purge,mediawiki.api|hidden]|purge.js * QuickDiff[ResourceLoader|type=general|dependencies=mediawiki.Uri,mediawiki.util]|QDmodal.js|QuickDiff.js|QDmodal.css * ReferenceTooltips[ResourceLoader|default|actions=view|type=general|dependencies=ext.gadget.bsw-util]|ReferenceTooltips.js|ReferenceTooltips.css * scribunto-console[ResourceLoader|actions=edit|type=general|default]|scribunto-console.js * scribunto-console-core[ResourceLoader|type=general|hidden]|scribunto-console-core.js|scribunto-console.css * sectionAnchors[ResourceLoader|type=general|default]|sectionAnchors.js|sectionAnchors.css ==Appearance== * colorRC[ResourceLoader|type=styles|targets=desktop,mobile]|colorRC.css * falseSubpage[ResourceLoader|type=general|default|hidden]|falseSubpage.js * markblocked[ResourceLoader|type=general]|markblocked.js * readableHistory[ResourceLoader|type=general|actions=history]|readableHistory.js|readableHistory.css * readableRC[ResourceLoader|type=general]|readableRC.js * readableRC-core[ResourceLoader|type=general|dependencies=oojs-ui-core|hidden]|readableRC-core.js|readableRC-core.css * relativetime[ResourceLoader|actions=edit,view|dependencies=mediawiki.util|type=general|default]|relativetime.js * stickyTableHeaders[ResourceLoader|type=styles|default]|stickyTableHeaders.css * toplinksDropdown[ResourceLoader|type=general|peers=toplinksDropdown-styles]|toplinksDropdown.js * toplinksDropdown-styles[ResourceLoader|type=styles|hidden]|toplinksDropdown.css ==Other== * defaultsummaries[ResourceLoader|actions=edit|type=general]|defaultsummaries.js * defaultsummaries-core[ResourceLoader|dependencies=oojs-ui-core|type=general|hidden]|defaultsummaries-core.js * gadgetLinks[ResourceLoader|type=general|default]|gadgetLinks.js * searchfocus[ResourceLoader|type=general|default]|searchfocus.js * sigreminder[ResourceLoader|actions=edit|dependencies=ext.gadget.rsw-util|type=general|default]|sigreminder.js 56f646d2f7eb1f3363ef2a33f9b755580e3913dc 978 977 2024-03-23T20:49:17Z BlackHawk 10 wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. For scripts that are intended for use on a lot of pages, it may be a good idea to propose it on the [[Forum:Forum Grove|Yew Grove]] first. Gadgets which can be enabled/disabled by the user (on [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]]) should have a description created on ''Mediawiki:Gadget-gadgetname''. ==Core== * autocollapse[ResourceLoader|type=general|default|hidden|dependencies=mediawiki.Uri]|autocollapse.js * autosort[ResourceLoader|type=general|dependencies=ext.gadget.bsw-util,ext.gadget.highlightTable|targets=desktop,mobile|default]|autosort.js * bsw-util[ResourceLoader|dependencies=mediawiki.util|targets=desktop,mobile|type=general|default|hidden]|bsw-util.js * InstantCollapsible[ResourceLoader|default|hidden|dependencies=jquery.makeCollapsible|type=general]|InstantCollapsible.js * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js * navboxToggle[ResourceLoader|targets=mobile|dependencies=ext.gadget.bsw-util|type=general|default|hidden]|navboxToggle.js * titleparenthesis[ResourceLoader|actions=view|type=general|default|hidden]|titleparenthesis.js|titleparenthesis.css * tooltips[ResourceLoader|type=general|default|hidden]|tooltips.js * uncheckfileredirects[ResourceLoader|type=general|rights=suppressredirect|default|hidden]|UncheckFileRedirect.js ==Tools== * batchupload[ResourceLoader|type=general|default|hidden|dependencies=mediawiki.util|rights=upload]|batchupload.js * contributions[ResourceLoader|type=general|default|dependencies=ext.gadget.bsw-util]|contributions.js * dropdown[ResourceLoader|type=general|dependencies=mediawiki.util,mediawiki.api|default]|dropdown.js * editCount[ResourceLoader|type=general|dependencies=ext.gadget.bsw-util]|editCount.js * ezcopy[ResourceLoader|type=general|targets=desktop]|ezcopy.js|ezcopy.css * hotcat[ResourceLoader|rights=upload|type=general]|hotcat.js * Message-names[ResourceLoader|rights=editinterface|type=general|dependencies=mediawiki.util]|Message-names.js * newPage[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util|rights=createpage]|newPage.js * purge[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util,ext.smw.purge,mediawiki.api|hidden]|purge.js * QuickDiff[ResourceLoader|type=general|dependencies=mediawiki.Uri,mediawiki.util]|QDmodal.js|QuickDiff.js|QDmodal.css * ReferenceTooltips[ResourceLoader|default|actions=view|type=general|dependencies=ext.gadget.bsw-util]|ReferenceTooltips.js|ReferenceTooltips.css * scribunto-console[ResourceLoader|actions=edit|type=general|default]|scribunto-console.js * scribunto-console-core[ResourceLoader|type=general|hidden]|scribunto-console-core.js|scribunto-console.css * sectionAnchors[ResourceLoader|type=general|default]|sectionAnchors.js|sectionAnchors.css ==Appearance== * colorRC[ResourceLoader|type=styles|targets=desktop,mobile]|colorRC.css * falseSubpage[ResourceLoader|type=general|default|hidden]|falseSubpage.js * markblocked[ResourceLoader|type=general]|markblocked.js * readableHistory[ResourceLoader|type=general|actions=history]|readableHistory.js|readableHistory.css * readableRC[ResourceLoader|type=general]|readableRC.js * readableRC-core[ResourceLoader|type=general|dependencies=oojs-ui-core|hidden]|readableRC-core.js|readableRC-core.css * relativetime[ResourceLoader|actions=edit,view|dependencies=mediawiki.util|type=general|default]|relativetime.js * stickyTableHeaders[ResourceLoader|type=styles|default]|stickyTableHeaders.css * toplinksDropdown[ResourceLoader|type=general|peers=toplinksDropdown-styles]|toplinksDropdown.js * toplinksDropdown-styles[ResourceLoader|type=styles|hidden]|toplinksDropdown.css ==Other== * defaultsummaries[ResourceLoader|actions=edit|type=general]|defaultsummaries.js * defaultsummaries-core[ResourceLoader|dependencies=oojs-ui-core|type=general|hidden]|defaultsummaries-core.js * gadgetLinks[ResourceLoader|type=general|default]|gadgetLinks.js * searchfocus[ResourceLoader|type=general|default]|searchfocus.js * sigreminder[ResourceLoader|actions=edit|dependencies=ext.gadget.bsw-util|type=general|default]|sigreminder.js f07541cdcde7faf0b508ebb4f74dfeb104079cfe MediaWiki:Gadget-autocollapse 8 584 979 2024-03-23T20:49:35Z BlackHawk 10 Created page with "'''Autocollapse''': Auto collapse navboxes if there's more than one or the height exceeds 300." wikitext text/x-wiki '''Autocollapse''': Auto collapse navboxes if there's more than one or the height exceeds 300. 4fa1a5cd0b04adabbaf19aadecbc055fde48f498 MediaWiki:Gadget-autocollapse.js 8 585 980 2024-03-23T20:49:56Z BlackHawk 10 Created page with "/** * Automatically collapsed navboxes under certain conditions */ (function($, mw){ if ($( ".mw-collapsible-toggle" ).length) expandMaps(); if ( !$('.navbox-autocollapse').length || mw.Uri().query.veaction != undefined ) return; mw.hook('wikipage.collapsibleContent').add(init); function init() { var $navboxes = $('.navbox'), // maximum number of navboxes before they all stay collapsed maxShow = 1, // maximum allowable height of navbox before it s..." javascript text/javascript /** * Automatically collapsed navboxes under certain conditions */ (function($, mw){ if ($( ".mw-collapsible-toggle" ).length) expandMaps(); if ( !$('.navbox-autocollapse').length || mw.Uri().query.veaction != undefined ) return; mw.hook('wikipage.collapsibleContent').add(init); function init() { var $navboxes = $('.navbox'), // maximum number of navboxes before they all stay collapsed maxShow = 1, // maximum allowable height of navbox before it stays collapsed maxHeight = 300; if ($navboxes.length > maxShow) { return; } $navboxes.each(function(i,box){ var $box = $(box); if (!$box.hasClass('navbox-autocollapse')) return; $box.data('mw-collapsible').expand(); if ( $box.height() > maxHeight ) $box.data('mw-collapsible').collapse(); }); } // handle collapsible maps function expandMaps() { $( ".mw-collapsible-toggle" ).on( "click keypress", function() { const $this = $( this ); if( $this.hasClass( "mw-collapsible-toggle-expanded" ) ) { mw.hook( "wikipage.content" ).fire( $( "a.mw-kartographer-map", $this.parents( ".mw-collapsible" ).first() ).parent() ); } } ); } //$(init); })(jQuery, mediaWiki); 4ef40b5103e462ff4c492dd976ee96e58ec7052e MediaWiki:Gadget-navboxToggle 8 588 983 2024-03-23T20:51:55Z BlackHawk 10 Created page with "'''NavboxToggle''': Moves navboxes in mobile and handle collapsing." wikitext text/x-wiki '''NavboxToggle''': Moves navboxes in mobile and handle collapsing. 3dac3dc5f95d5764a2e9a59f7274f9132b026b7f MediaWiki:Gadget-navboxToggle.js 8 589 984 2024-03-23T20:52:18Z BlackHawk 10 Created page with "(function ($) { var navtoggle = function () { if ($('.navbox.mw-collapsible').length) { var $arrow = $('<div>') .addClass('mw-ui-icon mw-ui-icon-mf-expand mw-ui-icon-element mw-ui-icon-small indicator mw-ui-icon-flush-left'); var $navigationText = $('<span>') .addClass('mw-headline') .text('Navigation'); var $toggleBar = $('<h2>') .attr('id', 'navbox-fake-collapsible-heading') .addClass('section-heading collapsible-heading') .append($..." javascript text/javascript (function ($) { var navtoggle = function () { if ($('.navbox.mw-collapsible').length) { var $arrow = $('<div>') .addClass('mw-ui-icon mw-ui-icon-mf-expand mw-ui-icon-element mw-ui-icon-small indicator mw-ui-icon-flush-left'); var $navigationText = $('<span>') .addClass('mw-headline') .text('Navigation'); var $toggleBar = $('<h2>') .attr('id', 'navbox-fake-collapsible-heading') .addClass('section-heading collapsible-heading') .append($arrow) .append($navigationText); $toggleBar.on('click', function () { // flip arrow $('#navbox-fake-collapsible-heading > .mw-ui-icon').toggleClass('mf-mw-ui-icon-rotate-flip'); // collapse navboxes $('.navbox.mw-collapsible').toggle(); }); // pull out navboxes so they don't get collapsed by the previous section var $navboxes = $('.navbox.mw-collapsible').detach(); // default to hidden $navboxes.toggle(); // append everything to the end of the content section $('.mw-parser-output').first().append($toggleBar).append($navboxes); } }; function init() { var tout = setTimeout(clearInterval, 30000, checksections); var checksections = setInterval( function () { if ( $('.mw-parser-output .collapsible-heading *[aria-expanded]').length ) { navtoggle(); clearTimeout(tout); clearInterval(checksections); } }, 500); } $(init); })(jQuery); e7508c73fe2d8d4349fa884f30c706b024956354 MediaWiki:Gadget-scribunto-console 8 593 988 2024-03-23T20:54:14Z BlackHawk 10 Created page with "'''Scribunto Console buttons''': Adds several extra utility buttons to the scribunto console (module pages)." wikitext text/x-wiki '''Scribunto Console buttons''': Adds several extra utility buttons to the scribunto console (module pages). 0bad7592464f4a6ee0d3c430f80199ed4c5e5ad7 MediaWiki:Gadget-scribunto-console.js 8 594 989 2024-03-23T20:54:25Z BlackHawk 10 Created page with "// <nowiki> $(function () { if ($('#mw-scribunto-console').length) { mw.loader.load('ext.gadget.scribunto-console-core') } }) // </nowiki>" javascript text/javascript // <nowiki> $(function () { if ($('#mw-scribunto-console').length) { mw.loader.load('ext.gadget.scribunto-console-core') } }) // </nowiki> 5fc493e12e9dee77c3826e4e3bd44a6de4804e08 MediaWiki:Gadget-scribunto-console-core.js 8 595 990 2024-03-23T20:55:16Z BlackHawk 10 Created page with "/**<nowiki> * Gadget that loads a couple of snippets for the console on module pages * Authors: ** LapOnTheMoon ** Gaz Lloyd * * * The scribunto console is run by ext.scribunto.edit - https://github.com/wikimedia/mediawiki-extensions-Scribunto/blob/master/modules/ext.scribunto.edit.js */ (function() { const FRAME_TEST = ["local frame = {}", "function frame.getParent()", " local args = {", " -- Args go here as ['name'] = value,", " }", " return { args = ar..." javascript text/javascript /**<nowiki> * Gadget that loads a couple of snippets for the console on module pages * Authors: ** LapOnTheMoon ** Gaz Lloyd * * * The scribunto console is run by ext.scribunto.edit - https://github.com/wikimedia/mediawiki-extensions-Scribunto/blob/master/modules/ext.scribunto.edit.js */ (function() { const FRAME_TEST = ["local frame = {}", "function frame.getParent()", " local args = {", " -- Args go here as ['name'] = value,", " }", " return { args = args }", "end", "mw.log( p.main(frame) )"], FRAME_TEST_TEXT = FRAME_TEST.join('\n'); var $clearBtn, load_attempts = 0, $inp; function addButtons() { var $addTextBtn = $('<input class="console-control console-addFrameText" type="button" value="Frame text" title="Load code for a basic frame">'); $addTextBtn.on('click', function() { $inp.val(FRAME_TEST_TEXT).attr('rows', FRAME_TEST.length+1); }); var $prevHistory = $('<input class="console-control console-prevHist" type="button" value="History &#708;" title="Load the previous input in your console history, if any">'); var $nextHistory = $('<input class="console-control console-nextHist" type="button" value="History &#709;" title="Load the next in your console history, if any">'); // send the appropriate keydown events to the input element // (ctrl+up / ctrl+down scrolls history) $prevHistory.on('click', function(){ $inp.trigger({ type: 'keydown', keyCode: 38, //UP arrow ctrlKey: true }); }); $nextHistory.on('click', function(){ $inp.trigger({ type: 'keydown', keyCode: 40, //DOWN arrow ctrlKey: true }); }); var $allowEnter = $('<input class="console-control console-allowEnter" type="checkbox" name="console-allowEnter" id="console-allowEnter">'), $allowEnterWrapper = $('<span title="Use the Run button or Ctrl+Enter to execute your code, when checked">'); $allowEnterWrapper.append($allowEnter, '<label for="console-allowEnter">Allow normal enter key</label>'); // don't actually need to have an event attached to this, we're just gonna check is(:checked) // BUT we are adding an event to save state to localStorage $allowEnter.prop('checked', window.localStorage.getItem('rsw-scribunto-console-allowEnter') === "true"); // do this before attaching event, just to be sure we don't fire it $allowEnter.on('change', function(){ window.localStorage.setItem('rsw-scribunto-console-allowEnter', $allowEnter.is(':checked')); }); // attach this to the parent element // capture=true => this runs before the innermost element's event document.getElementById('mw-scribunto-input').parentElement.addEventListener('keydown', function(e){ if (e.target.id !== 'mw-scribunto-input') return; if (! (e.keyCode === 13)) return; // enter if (e.ctrlKey || e.shiftKey) return; if ($allowEnter.is(':checked')) { e.stopImmediatePropagation(); $inp.attr('rows', $inp.val().split(/\r?\n/).length+1); return; } }, true); // enter runs the code // ctrl+enter runs it too, and we're explicitly excluding ctrl+enter from allowEnter var $run = $('<input class="console-control console-runButton" type="button" value="Run" title="Run the current input">'); $run.on('click', function(){ $inp.trigger({ type: 'keydown', keyCode: 13, ctrlKey: true }); }); $clearBtn.parent().prepend($run).append($addTextBtn, $prevHistory, $nextHistory, $allowEnterWrapper); } function init() { $clearBtn = $('input[type="button"][value="Clear"]'); $inp = $('#mw-scribunto-input'); if ($('#mw-scribunto-output').length && $clearBtn.length && $inp.length) { $clearBtn.addClass('console-control console-clearButton').attr('title', 'Clear the console (no confirmation!)'); addButtons(); } else { load_attempts++; if (load_attempts > 100) return; setTimeout(init, 50); } } $(init); })(); //</nowiki> d78a22ed04dcef6db2d53a3ae281e4f7a913be0e MediaWiki:Gadget-scribunto-console.css 8 596 991 2024-03-23T20:55:28Z BlackHawk 10 Created page with ".mw-scribunto-console-fieldset .console-control { margin-right: 0.25rem; } .mw-scribunto-console-fieldset input.console-control[type="checkbox"] { margin-left: 0.25rem; }" css text/css .mw-scribunto-console-fieldset .console-control { margin-right: 0.25rem; } .mw-scribunto-console-fieldset input.console-control[type="checkbox"] { margin-left: 0.25rem; } fc574fe11f2de72f79465a968908d06459b3fda6 Category:Tracking categories 14 604 999 2024-03-23T21:00:57Z BlackHawk 10 Created page with "[[Category:Maintenance categories|*]]" wikitext text/x-wiki [[Category:Maintenance categories|*]] 15b31ba883345150763f12bbbf5fa84b08af63f3 MediaWiki:Gadget-markblocked 8 605 1000 2024-03-23T21:01:25Z BlackHawk 10 Created page with "'''MarkBlocked''': Add a strikethrough for the names of users that have been blocked." wikitext text/x-wiki '''MarkBlocked''': Add a strikethrough for the names of users that have been blocked. 27f57884220172d5d170676bb135cf0c7ace0bf4 MediaWiki:Gadget-markblocked.js 8 606 1001 2024-03-23T21:01:38Z BlackHawk 10 Created page with "var markblocked_contributions = 'Special:Contributions'; mw.loader.load('//en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-markblocked.js&bcache=1&maxage=259200&action=raw&ctype=text/javascript');" javascript text/javascript var markblocked_contributions = 'Special:Contributions'; mw.loader.load('//en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-markblocked.js&bcache=1&maxage=259200&action=raw&ctype=text/javascript'); d3cba065aaf8f47567bafe99cdecd8ca4bdfd8da MediaWiki:Gadget-readableHistory 8 607 1002 2024-03-23T21:02:00Z BlackHawk 10 Created page with "'''ReadableHistory''': Formats page histories (<code>?action=history</code>) into columns to make it more readable." wikitext text/x-wiki '''ReadableHistory''': Formats page histories (<code>?action=history</code>) into columns to make it more readable. 214afcab1b1ca9f1ac90f3f9d2573cbebf0746d6 MediaWiki:Gadget-readableHistory.js 8 608 1003 2024-03-23T21:02:49Z BlackHawk 10 Created page with "// <nowiki> // Formats rows on page histories into three columns to make it more readable; // essentially [[MediaWiki:Gadget-readableRC-core.js]], but for ?action=history // // @author Iiii_I_I_I (function (mw) { function runReadableHistory() { let container = document.querySelector('#pagehistory'); let revisions = document.querySelectorAll('.mw-contributions-list li'); container.classList.add('gadget-history-enabled'); revisions.for..." javascript text/javascript // <nowiki> // Formats rows on page histories into three columns to make it more readable; // essentially [[MediaWiki:Gadget-readableRC-core.js]], but for ?action=history // // @author Iiii_I_I_I (function (mw) { function runReadableHistory() { let container = document.querySelector('#pagehistory'); let revisions = document.querySelectorAll('.mw-contributions-list li'); container.classList.add('gadget-history-enabled'); revisions.forEach((revision) => cleanRevision(revision)); } function cleanRevision(row) { shortenRevisionDate(row); shortenByteSize(row); shortenUserLinks(row); // first column: revision comparison buttons and date // "() () [] 01:15, 09 May '11" let dateContainer = document.createElement('div'); dateContainer.classList.add('gadget-history-dateoptions'); dateContainer.append( check('input[name="oldid"]', row), check('input[name="diff"]', row), check('input[form="mw-history-revisionactions"]', row), check('.mw-changeslist-date', row) ); // second column: diff links and bytes // "(cur|prev) (11,885) (+410)" let diffContainer = document.createElement('div'); diffContainer.classList.add('gadget-history-diffinfo'); diffContainer.append( check('.mw-history-histlinks', row), check('.history-size', row), check('.mw-diff-bytes:not(.history-size)', row), check('.minoredit', row), check('.mw-revdelundel-link', row) ); // third column: user links, summary, undo, and Special:Tags // "MrDew (t|c|b) (update max_melee1 and acc_melee1) (undo|thank)" let userContainer = document.createElement('div'); userContainer.classList.add('gadget-history-userinfo'); userContainer.append( check('.history-user', row), check('.comment', row), check('.mw-changeslist-links:not(.mw-usertoollinks)', row), check('.mw-tag-markers', row) ); // clear everything inside row row.innerHTML = ''; // add new <td>s row.append(dateContainer, diffContainer, userContainer); } // return element if it exists; if not, fail silently // (unlike querySelector, which returns "null") function check(selector, row) { let element = row.querySelector(selector); return (element) ? element : ''; } // turns 09:05, 7 August 2023 -> 09:05, 07 Aug '23 function shortenRevisionDate(row) { let timestamp = row.querySelector('.mw-changeslist-date:not(.history-deleted)'); let date = new Date(timestamp.textContent.split(', ')[1]); date = date.toLocaleString('en-GB', { day: '2-digit', month: 'short', year: '2-digit' }); date = date.slice(0, 7) + "'" + date.slice(7); timestamp.textContent = timestamp.textContent.split(', ')[0] + ', ' + date; } // turns (11,498 bytes) -> (11,498) function shortenByteSize(row) { let size = row.querySelector('.history-size'); // if page was blanked (shows "(empty)"), exit if (size.dataset.mwBytes === '0') return; size.textContent = size.textContent.slice(0, -6); } // turns (talk | contribs | block) -> (t|c|b) function shortenUserLinks(row) { // if username has been revdeled (shows "(username removed)"), exit if (row.querySelector('.mw-userlink.history-deleted')) return; // replace links with first letter of each link let links = row.querySelectorAll('.mw-usertoollinks a'); links.forEach(link => link.textContent = link.textContent.slice(0, 1)); } // innit mw.hook('wikipage.content').add(function () { runReadableHistory(); }); })(mediaWiki); // </nowiki> 06660e3f6ac054d8ef1f6a2263d0dc56461c744e MediaWiki:Gadget-readableHistory.css 8 609 1004 2024-03-23T21:03:17Z BlackHawk 10 Created page with "/* revision rows */ .gadget-history-enabled .mw-contributions-list li { display: flex; gap: 1.25em; padding: .15em 0 !important; margin: .2em 0 !important; } /* first column */ .gadget-history-dateoptions { width: 190px; white-space: nowrap; } .gadget-history-dateoptions input { margin: 2px !important; } .gadget-history-dateoptions a.mw-changeslist-date { margin-left: 6px; } /* second column */ .gadget-history-diffinfo { width: 230px; white-space: nowrap;..." css text/css /* revision rows */ .gadget-history-enabled .mw-contributions-list li { display: flex; gap: 1.25em; padding: .15em 0 !important; margin: .2em 0 !important; } /* first column */ .gadget-history-dateoptions { width: 190px; white-space: nowrap; } .gadget-history-dateoptions input { margin: 2px !important; } .gadget-history-dateoptions a.mw-changeslist-date { margin-left: 6px; } /* second column */ .gadget-history-diffinfo { width: 230px; white-space: nowrap; } .gadget-history-diffinfo .mw-diff-bytes { margin-right: 5px; } /* third column */ .gadget-history-userinfo { flex: 1; } .gadget-history-userinfo .history-user { margin: 0 !important; } .gadget-history-userinfo > span + span { margin-left: 5px; } /* pipe in link groups */ .gadget-history-enabled .mw-usertoollinks, .gadget-history-enabled .mw-changeslist-links { display: inline-flex; } .gadget-history-enabled .mw-changeslist-links > span:not(:first-child)::before { content: '|'; padding: 0 .125em; } .gadget-history-enabled .mw-usertoollinks > span:not(:first-child)::before { padding: 0 .075em; } /* truncate long IPv6 addresses */ .gadget-history-enabled .mw-anonuserlink { display: inline-block; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; white-space: nowrap; max-width: 17ch; } /* compact view */ @media screen and (max-width: 900px) { .gadget-history-enabled .mw-contributions-list li { display: block; padding: .5em 0 !important; border-bottom: 1px solid var(--tile-border-color) !important; } .gadget-history-dateoptions, .gadget-history-diffinfo { display: inline-block; width: initial; } .gadget-history-diffinfo { margin-left: .5em; } .gadget-history-userinfo { display: block; line-height: 1.5; margin: .1em 0 0 4em; } } 4ac66e1c86b9bfba5f99106181a4a76cb7e774f1 MediaWiki:Gadget-readableRC 8 610 1005 2024-03-23T21:03:46Z BlackHawk 10 Created page with "'''ReadableRC''': Formats [[Special:RecentChanges]] into columns to make it more readable. Requires "Group changes by page" to be enabled in the [[Special:Preferences#mw-prefsection-rc|"Recent changes" tab]]." wikitext text/x-wiki '''ReadableRC''': Formats [[Special:RecentChanges]] into columns to make it more readable. Requires "Group changes by page" to be enabled in the [[Special:Preferences#mw-prefsection-rc|"Recent changes" tab]]. d8d27d6a8700547557e32b7fa5f9eb3286610c57 MediaWiki:Gadget-readableRC.js 8 611 1006 2024-03-23T21:04:08Z BlackHawk 10 Created page with "// <nowiki> if (mw.config.get('wgPageName') == 'Special:RecentChanges') { mw.loader.load('ext.gadget.readableRC-core'); } // </nowiki>" javascript text/javascript // <nowiki> if (mw.config.get('wgPageName') == 'Special:RecentChanges') { mw.loader.load('ext.gadget.readableRC-core'); } // </nowiki> f19ed0a5ced5b11b6ae435e9d7e094c03529589f MediaWiki:Gadget-readableRC-core 8 612 1007 2024-03-23T21:04:34Z BlackHawk 10 Created page with "'''ReadableRC-core''': Loaded by '''ReadableRC'''." wikitext text/x-wiki '''ReadableRC-core''': Loaded by '''ReadableRC'''. 3b4a36fc746b0e1ab77753b48bb6f78cfc1c25eb MediaWiki:Gadget-readableRC-core.css 8 613 1008 2024-03-23T21:09:10Z BlackHawk 10 Created page with "/* padding between "Live updates" button and gadget */ .gadget-rc-button { margin-left: .5em; } /* diff row */ .gadget-rc-enabled .mw-changeslist-line { margin: .3em 0; line-height: 1.6; -webkit-hyphens: auto; -ms-hyphens: auto; hyphens: auto; } /* this is what makes most of it work */ .gadget-rc-enabled .mw-changeslist-line tbody > tr { display: flex; } /* pagename/log name column */ .gadget-rc-pagename, .gadget-rc-logname { width: 22vw; max-width: 350px;..." css text/css /* padding between "Live updates" button and gadget */ .gadget-rc-button { margin-left: .5em; } /* diff row */ .gadget-rc-enabled .mw-changeslist-line { margin: .3em 0; line-height: 1.6; -webkit-hyphens: auto; -ms-hyphens: auto; hyphens: auto; } /* this is what makes most of it work */ .gadget-rc-enabled .mw-changeslist-line tbody > tr { display: flex; } /* pagename/log name column */ .gadget-rc-pagename, .gadget-rc-logname { width: 22vw; max-width: 350px; margin-right: .5em; } @media screen and (max-width: 1000px) { .gadget-rc-pagename, .gadget-rc-logname { width: 20vw; } } .gadget-rc-logname { font-weight: bold; } /* diff/hist column */ .gadget-rc-diff, .gadget-rc-logdots { width: 14vw; max-width: 175px; } .gadget-rc-diff .mw-changeslist-separator { display: none; } .gadget-rc-logdots .mw-changeslist-separator { padding-left: .35em; } /* user description column */ .gadget-rc-userlinks, .gadget-rc-logentry { flex: 1; margin-left: .5em; } /* limit height of certain types of pages to 2 lines */ .mw-changeslist-ns-828 .gadget-rc-userlinks, /* Module: */ .mw-changeslist-ns-120 .gadget-rc-userlinks, /* Transcript: */ .mw-changeslist-ns4-Counter-Vandalism_Unit_Data .gadget-rc-userlinks, .mw-changeslist-log-newusers .gadget-rc-logentry /* user creation log */ { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .gadget-rc-userlinks > * { margin-right: .25em; } /* default is 95% for some reason */ .gadget-rc-enabled .changedby { font-size: 100%; } .gadget-rc-enabled .mw-userlink { font-weight: bold; } /* truncate long IPv6 addresses */ .gadget-rc-enabled .mw-anonuserlink { display: inline-block; overflow: hidden; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; vertical-align: bottom; max-width: 17ch; } /* user links */ .gadget-rc-enabled .mw-usertoollinks { display: inline-flex; } .gadget-rc-enabled .mw-usertoollinks a { padding: 0 .05em; } /* remove spaces around pipes in user links */ .gadget-rc-enabled .mw-usertoollinks > span:not(:first-child):before { content: '|'; } /* abusefilter tags */ .gadget-rc-enabled .mw-tag-markers, .gadget-rc-enabled .mw-tag-markers a { font-weight: normal; } /* fix alignment on nested rows */ .gadget-rc-enabled .gadget-rc-nested { margin-left: 4.6em; } .gadget-rc-nested .gadget-rc-pagename { margin-right: .75em; } .gadget-rc-nested .gadget-rc-userlinks { margin-left: 2em; } .gadget-rc-nested .gadget-rc-logentry { margin-left: 2.3em; } /* debold */ .gadget-rc-nested .gadget-rc-logname { font-weight: normal; } c3fcc203769c0d08d14a90d7ccf86a5d46ef897a MediaWiki:Gadget-readableRC-core.js 8 614 1009 2024-03-23T21:09:13Z BlackHawk 10 Created page with "// <nowiki> // Formats the rows on Special:RecentChanges where all the information runs together // into three columns (page, diff/byte change, and user links) to make it more readable // // @author Iiii_I_I_I // // @TODO: support "Group changes by page" option being unchecked in Special:Preferences? (function ($, mw) { function runReadableRC($content) { if (!$content.hasClass('mw-changeslist')) { return; } $content.addClass('gad..." javascript text/javascript // <nowiki> // Formats the rows on Special:RecentChanges where all the information runs together // into three columns (page, diff/byte change, and user links) to make it more readable // // @author Iiii_I_I_I // // @TODO: support "Group changes by page" option being unchecked in Special:Preferences? (function ($, mw) { function runReadableRC($content) { if (!$content.hasClass('mw-changeslist')) { return; } $content.addClass('gadget-rc-enabled'); var rows = document.querySelectorAll('.mw-changeslist-line, ' + // does not include grouped edits '.mw-rcfilters-ui-highlights-enhanced-toplevel, ' + // first child in grouped edits '.mw-rcfilters-ui-highlights-enhanced-nested'); // subsequent children in grouped edits for (var i = 0; i < rows.length; i++) { var row = rows[i]; // nested rows (only visible after expanding grouped edits) if (row.classList.contains('mw-rcfilters-ui-highlights-enhanced-nested')) { row.classList.add('gadget-rc-nested'); if (row.classList.contains('mw-changeslist-edit')) { cleanNestedEdit(row); } else if (row.classList.contains('mw-changeslist-log')) { cleanNestedLog(row); } } // top-level rows (visible without uncollapsing any groups) else { // ignore parent element of grouped edits (text is in children, not container) if (row.classList.contains('mw-collapsible')) { continue; } // top-level row in grouped edits/log entries if (row.classList.contains('mw-rcfilters-ui-highlights-enhanced-toplevel')) { var parent = row.closest('.mw-collapsible'); if (parent.classList.contains('mw-changeslist-edit')) { cleanMultipleEdits(row); } else if (parent.classList.contains('mw-changeslist-log')) { cleanMultipleLogs(row); } } // row for single edit/log entries else { if (row.classList.contains('mw-changeslist-edit')) { cleanSingleEdit(row); } else if (row.classList.contains('mw-changeslist-log')) { cleanSingleLog(row); } } } } } function insert(row, newNode, referenceNode) { return row.querySelector(referenceNode).parentNode.insertBefore(row.querySelector(newNode), row.querySelector(referenceNode)); } function wrap(referenceNode, wrapperEl, wrapperClass) { var wrapper = document.createElement(wrapperEl); referenceNode.parentNode.insertBefore(wrapper, referenceNode); wrapper.appendChild(referenceNode); wrapper.classList.add(wrapperClass); } function cleanNestedLog(row) { // wrap "log name" (actually timestamp) together wrap(row.querySelector('.mw-enhanced-rc-time'), 'td', 'gadget-rc-logname'); // placeholder column with separator dots wrap(row.querySelector('.mw-changeslist-separator'), 'td', 'gadget-rc-logdots'); cleanUserLinks(row); // rename <td> row.querySelector('td.mw-enhanced-rc-nested').className = 'gadget-rc-logentry'; // rearrange newly created <td>s insert(row, '.gadget-rc-logname', '.gadget-rc-logentry'); insert(row, '.gadget-rc-logdots', '.gadget-rc-logentry'); } function cleanNestedEdit(row) { // wrap "page name" (actually revision links) together wrap(row.querySelector('.mw-enhanced-rc-time'), 'td', 'gadget-rc-pagename'); // remove two dot separators row.querySelector('.mw-changeslist-separator').remove(); row.querySelector('.mw-changeslist-separator').remove(); // wrap user stuff together $('.mw-userlink, .mw-usertoollinks, .comment, .mw-rollback-link, .mw-tag-markers, .history-deleted', row).wrapAll('<td class="gadget-rc-userlinks" />'); cleanUserLinks(row); // "rollback x edit(s)" -> "rollback" // link does not exist if it is a page creation or user does not have the right if (row.querySelector('.mw-rollback-link')) { row.querySelector('.mw-rollback-link a').textContent = 'rollback'; } // rename <td> row.querySelector('td.mw-enhanced-rc-nested').className = 'gadget-rc-diff'; // rearrange newly created <td>s insert(row, '.gadget-rc-userlinks', '.gadget-rc-diff'); insert(row, '.gadget-rc-pagename', '.gadget-rc-userlinks'); insert(row, '.gadget-rc-diff', '.gadget-rc-userlinks'); } function cleanMultipleLogs(row) { // log name wrap(row.querySelector('.mw-rc-unwatched'), 'td', 'gadget-rc-logname'); // remove square brackets from grouped usernames; cannot simply use remove() // since there might be other text in the same node, eg. "(4×)]" var users = row.querySelector('.changedby').childNodes; users[0].textContent = users[0].textContent.slice(1); // [ users[users.length - 1].textContent = users[users.length - 1].textContent.slice(0, -1); // ] // placeholder column with separator dots wrap(row.querySelector('.mw-changeslist-separator'), 'td', 'gadget-rc-logdots'); // rename <td> row.querySelector('.mw-changeslist-line-inner').className = 'gadget-rc-logentry'; // rearrange newly created <td>s insert(row, '.gadget-rc-logname', '.gadget-rc-logentry'); insert(row, '.gadget-rc-logdots', '.gadget-rc-logentry'); // stupid empty node row.querySelector('.gadget-rc-logentry').childNodes[0].remove(); } function cleanMultipleEdits(row) { // page name wrap(row.querySelector('.mw-title'), 'td', 'gadget-rc-pagename'); // "x changes" -> "diff" if (row.querySelector('.mw-changeslist-groupdiff')) { row.querySelector('.mw-changeslist-groupdiff').textContent = 'diff'; } // new pages have a text node instead of a link else { row.querySelector('.mw-changeslist-links span:first-child').textContent = 'diff'; } // "history" -> "hist" if (row.querySelector('.mw-changeslist-history')) { row.querySelector('.mw-changeslist-history').textContent = 'hist'; } // nonexistent pages (redirect-suppressed move or deleted) have a text node instead of a link else { var newHist = row.querySelector('.mw-changeslist-line-inner').childNodes[4].nodeValue.replace('history', 'hist'); row.querySelector('.mw-changeslist-line-inner').childNodes[4].nodeValue = newHist; } // list of user(s) wrap(row.querySelector('.changedby'), 'td', 'gadget-rc-userlinks'); // remove square brackets from grouped usernames; cannot simply use remove() // since there might be other text in the same node, eg. "(4×)]" var users = row.querySelector('.changedby').childNodes; users[0].textContent = users[0].textContent.slice(1); // [ users[users.length - 1].textContent = users[users.length - 1].textContent.slice(0, -1); // ] // rename <td> row.querySelector('.mw-changeslist-line-inner').className = 'gadget-rc-diff'; // rearrange newly created <td>s insert(row, '.gadget-rc-userlinks', '.gadget-rc-diff'); insert(row, '.gadget-rc-pagename', '.gadget-rc-userlinks'); insert(row, '.gadget-rc-diff', '.gadget-rc-userlinks'); } function cleanSingleLog(row) { // log name wrap(row.querySelector('.mw-changeslist-line-inner-logLink'), 'td', 'gadget-rc-logname'); // placeholder column with separator dots wrap(row.querySelector('.mw-changeslist-line-inner-separatorAfterLinks'), 'td', 'gadget-rc-logdots'); cleanUserLinks(row); // rename <td> row.querySelector('.mw-changeslist-line-inner').className = 'gadget-rc-logentry'; // rearrange newly created <td>s insert(row, '.gadget-rc-logname', '.gadget-rc-logentry'); insert(row, '.gadget-rc-logdots', '.gadget-rc-logentry'); } function cleanSingleEdit(row) { // page name wrap(row.querySelector('.mw-title'), 'td', 'gadget-rc-pagename'); // "rollback x edit(s)" -> "rollback" // link does not exist if it is a page creation or user does not have the right if (row.querySelector('.mw-rollback-link')) { row.querySelector('.mw-rollback-link a').textContent = 'rollback'; } // user info $('.mw-userlink, .mw-usertoollinks, .comment, .mw-rollback-link, .mw-tag-markers, .history-deleted', row).wrapAll('<td class="gadget-rc-userlinks" />'); cleanUserLinks(row); // rename <td> row.querySelector('.mw-changeslist-line-inner').className = 'gadget-rc-diff'; // rearrange newly created <td>s insert(row, '.gadget-rc-userlinks', '.gadget-rc-diff'); insert(row, '.gadget-rc-pagename', '.gadget-rc-userlinks'); insert(row, '.gadget-rc-diff', '.gadget-rc-userlinks'); } // (talk | contribs | block) -> (t|c|b) // possible variations: (talk), (talk | contribs), (talk | block), (talk | contribs | block), (username removed) function cleanUserLinks(row) { // if username has been revdeled (shows "(username removed)"), then exit if (row.querySelector('.history-deleted')) { return; } row.querySelector('.mw-usertoollinks-talk').textContent = 't'; // IPs don't have dedicated contribs link - it's linked in their username if (row.querySelector('.mw-usertoollinks-contribs')) { row.querySelector('.mw-usertoollinks-contribs').textContent = 'c'; } // non-admins don't have block link if (row.querySelector('.mw-usertoollinks-block')) { row.querySelector('.mw-usertoollinks-block').textContent = 'b'; } } function init() { var info = new OO.ui.PopupButtonWidget({ classes: ['gadget-rc-button'], framed: false, label: 'Broken?', popup: { head: true, label: 'Is the RecentChanges layout broken?', $content: $("<p><a href='/w/MediaWiki:Gadget-readableRC-core.js'>ReadableRC</a>, which formats this " + "page into columns, might have an error. If something looks wrong, disable this gadget in " + "your preferences and report the issue to <a href='/w/User_talk:Iiii_I_I_I'>Iiii I I I</a>.</p>"), padded: true, align: 'force-right', hideCloseButton: true } }) mw.hook('structuredChangeFilters.ui.initialized').add(function () { runReadableRC($('.mw-changeslist')); mw.hook('wikipage.content').add(runReadableRC); $('.mw-rcfilters-ui-liveUpdateButtonWidget').append(info.$element); }); } $(init); })(jQuery, mediaWiki); // </nowiki> c45f421d76021394854fc3838e5c17502a4ba6db MediaWiki:Gadgets-definition 8 6 1010 978 2024-03-23T21:13:46Z BlackHawk 10 wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. For scripts that are intended for use on a lot of pages, it may be a good idea to propose it on the [[Forum:Forum Grove|Yew Grove]] first. Gadgets which can be enabled/disabled by the user (on [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]]) should have a description created on ''Mediawiki:Gadget-gadgetname''. ==Core== * autocollapse[ResourceLoader|type=general|default|hidden|dependencies=mediawiki.Uri]|autocollapse.js * autosort[ResourceLoader|type=general|dependencies=ext.gadget.bsw-util,ext.gadget.highlightTable|targets=desktop,mobile|default]|autosort.js * bsw-util[ResourceLoader|dependencies=mediawiki.util|targets=desktop,mobile|type=general|default|hidden]|bsw-util.js * InstantCollapsible[ResourceLoader|default|hidden|dependencies=jquery.makeCollapsible|type=general]|InstantCollapsible.js * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js * navboxToggle[ResourceLoader|targets=mobile|dependencies=ext.gadget.bsw-util|type=general|default|hidden]|navboxToggle.js * titleparenthesis[ResourceLoader|actions=view|type=general|default|hidden]|titleparenthesis.js|titleparenthesis.css * tooltips[ResourceLoader|type=general|default|hidden]|tooltips.js * uncheckfileredirects[ResourceLoader|type=general|rights=suppressredirect|default|hidden]|UncheckFileRedirect.js ==Tools== * batchupload[ResourceLoader|type=general|default|hidden|dependencies=mediawiki.util|rights=upload]|batchupload.js * contributions[ResourceLoader|type=general|default|dependencies=ext.gadget.bsw-util]|contributions.js * dropdown[ResourceLoader|type=general|dependencies=mediawiki.util,mediawiki.api|default]|dropdown.js * editCount[ResourceLoader|type=general|dependencies=ext.gadget.bsw-util]|editCount.js * ezcopy[ResourceLoader|type=general|targets=desktop]|ezcopy.js|ezcopy.css * hotcat[ResourceLoader|rights=upload|type=general]|hotcat.js * Message-names[ResourceLoader|rights=editinterface|type=general|dependencies=mediawiki.util]|Message-names.js * newPage[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util|rights=createpage]|newPage.js * purge[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util,ext.smw.purge,mediawiki.api|hidden]|purge.js * QuickDiff[ResourceLoader|type=general|dependencies=mediawiki.Uri,mediawiki.util]|QDmodal.js|QuickDiff.js|QDmodal.css * ReferenceTooltips[ResourceLoader|default|actions=view|type=general|dependencies=ext.gadget.bsw-util]|ReferenceTooltips.js|ReferenceTooltips.css * scribunto-console[ResourceLoader|actions=edit|type=general|default]|scribunto-console.js * scribunto-console-core[ResourceLoader|type=general|hidden]|scribunto-console-core.js|scribunto-console.css * sectionAnchors[ResourceLoader|type=general|default]|sectionAnchors.js|sectionAnchors.css ==Appearance== * colorRC[ResourceLoader|type=styles|targets=desktop,mobile]|colorRC.css * falseSubpage[ResourceLoader|type=general|default|hidden]|falseSubpage.js * markblocked[ResourceLoader|type=general]|markblocked.js * readableHistory[ResourceLoader|type=general|actions=history]|readableHistory.js|readableHistory.css * readableRC[ResourceLoader|type=general]|readableRC.js * readableRC-core[ResourceLoader|type=general|dependencies=oojs-ui-core|hidden]|readableRC-core.js|readableRC-core.css ==Other== * gadgetLinks[ResourceLoader|type=general|default]|gadgetLinks.js a33d0f9a14b95bf367d20304c4357267f54e7483 File:Signature button.png 6 615 1011 2024-03-23T21:18:37Z BlackHawk 10 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Foraging.jpg 6 617 1013 2024-03-23T21:25:34Z Habblet 11 {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_5ff5f0954896d8bc8893f977ede5ce06fe88cc45.jpg?t=1710756596}} wikitext text/x-wiki == Summary == {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_5ff5f0954896d8bc8893f977ede5ce06fe88cc45.jpg?t=1710756596}} 0afcd6926c8dc428b5b132379d394d393baa72cd Forager 0 59 1014 214 2024-03-23T21:26:23Z Habblet 11 wikitext text/x-wiki [[File:Foraging.jpg|thumb|right|Some players foraging.]] '''Forager''' is a type of [[professions|profession]]. {{Professions}} 2afc42626fde5df0870eb363ae36134e45a68106 Template:Retake image 10 618 1015 2024-03-23T21:33:48Z Habblet 11 Created page with "{{MessageBox |class = file |img = [[File:Information icon.svg|centre|32px|link=]] | This file has a flaw in the captured content and needs to be retaken. | Files [[:Category:Images needing to be retaken|like these]] should be recaptured in order to meet the Brighter Shores Wiki's [[Brighter Shores:Images and media policy|quality standards]]. Please see the [[Brighter Shores:Image Maintenance|Image maintenance project]] page for more information.{{#if:{{{1|}}}|<br/>A nota..." wikitext text/x-wiki {{MessageBox |class = file |img = [[File:Information icon.svg|centre|32px|link=]] | This file has a flaw in the captured content and needs to be retaken. | Files [[:Category:Images needing to be retaken|like these]] should be recaptured in order to meet the Brighter Shores Wiki's [[Brighter Shores:Images and media policy|quality standards]]. Please see the [[Brighter Shores:Image Maintenance|Image maintenance project]] page for more information.{{#if:{{{1|}}}|<br/>A notable flaw is '''{{{1|}}}'''}} }}{{Fileonly|[[Category:Images needing to be retaken]]}}<noinclude>{{/doc}}</noinclude> 0b68b673417d5bebdebe7ce12413be6d598cbe37 Template:Retake image/doc 10 619 1016 2024-03-23T21:34:11Z Habblet 11 Created page with "{{Documentation}} This template displays a notification that an image does not meet the wiki's [[Brighter Shores:Images and media policy|quality standards]] and should be retaken. It automatically adds [[:Category:Images needing to be retaken]] to the page. ==Usage== {{T|Retake image}}<br/> {{T|Retake}} {{Retake image}} {{TemplateData|<templatedata> { "description": "This template displays a notification that an image should be retaken.", "params": { "1": { "d..." wikitext text/x-wiki {{Documentation}} This template displays a notification that an image does not meet the wiki's [[Brighter Shores:Images and media policy|quality standards]] and should be retaken. It automatically adds [[:Category:Images needing to be retaken]] to the page. ==Usage== {{T|Retake image}}<br/> {{T|Retake}} {{Retake image}} {{TemplateData|<templatedata> { "description": "This template displays a notification that an image should be retaken.", "params": { "1": { "description": "A notable flaw of the image.", "type": "string", "suggested": true, "label": "Image's flaw" } }, "format": "inline" } </templatedata>}} <includeonly>[[Category:Image templates|{{PAGENAME}}]]</includeonly> fb7326ef8d7a6dec7354cd6994a3bc92d20b527b Category:Image templates 14 620 1017 2024-03-23T21:34:31Z Habblet 11 Created page with "{{Categoryheader|templates|placing special tags on images||}} [[Category:Templates]]" wikitext text/x-wiki {{Categoryheader|templates|placing special tags on images||}} [[Category:Templates]] bea99e1dfb6678f00761033b56d61e1a35ca5dd9 Template:Retake 10 621 1018 2024-03-23T21:34:46Z Habblet 11 Redirected page to [[Template:Retake image]] wikitext text/x-wiki #REDIRECT [[Template:Retake image]] ae5a607e4401d598c97d69f3dcbbeeae3d282471 File:Sneaky Thief.png 6 622 1019 2024-03-23T21:35:09Z Habblet 11 {{NPC license|Sneaky Thief}} {{Retake|Needs idle shot}} wikitext text/x-wiki == Summary == {{NPC license|Sneaky Thief}} {{Retake|Needs idle shot}} 329d62ab9d44546954c6ff9c684d457dfff5e291 Category:Images needing to be retaken 14 623 1020 2024-03-23T21:36:01Z Habblet 11 Created page with "{{Categoryheader|images|those that need to be retaken|yes|[[Template:Retake image]]}} [[Category:Maintenance categories]]" wikitext text/x-wiki {{Categoryheader|images|those that need to be retaken|yes|[[Template:Retake image]]}} [[Category:Maintenance categories]] 8a41f07911c6fa2c28d8560903ae54a23db1307b Sneaky Thief 0 100 1021 245 2024-03-23T21:36:45Z Habblet 11 wikitext text/x-wiki [[File:Sneaky Thief.png|200px|right]] '''Sneaky Thieves''' are a type of monster. They have 1,100 health. [[Category:Monsters]] ebf3ddffaaf24ccb19451dadb875482f7607a4ad Special attacks 0 624 1022 2024-03-23T21:37:49Z Habblet 11 Created page with "'''Special attacks''' are a mechanic that is part of the [[combat]] system. [[Category:Combat]] [[Category:Mechanics]]" wikitext text/x-wiki '''Special attacks''' are a mechanic that is part of the [[combat]] system. [[Category:Combat]] [[Category:Mechanics]] df8f1854f73854bb2575a31e278eb5e73d69651d Category:Combat 14 625 1023 2024-03-23T21:38:34Z Habblet 11 Created page with " [[Category:Content]]" wikitext text/x-wiki [[Category:Content]] f0862228d83b1c3b88413847402b23e597fab110 Combat 0 191 1024 823 2024-03-23T21:40:05Z Habblet 11 wikitext text/x-wiki [[File:Equipment.jpg|thumb|right|A preview of player in combat.]] '''Combat''' is a mechanic in [[Brighter Shores]] in which several [[player]]s or [[monsters]] fight. Depending on the [[class]] that is being used, player combat can utilise melee, ranged, or magic. [[Special attacks]] are a feature of the combat system. {{Mechanics}} 73085f33a384dc452b4b9cbe3a82fe8fadddc94a 1026 1024 2024-03-23T21:44:18Z Habblet 11 wikitext text/x-wiki [[File:Equipment.jpg|thumb|right|A preview of player in combat.]] [[File:Combat 2.jpg|thumb|right|Another preview of player in combat.]] '''Combat''' is a mechanic in [[Brighter Shores]] in which several [[player]]s or [[monsters]] fight. Depending on the [[class]] that is being used, player combat can utilise melee, ranged, or magic. [[Special attacks]] are a feature of the combat system. {{Mechanics}} 371f3d30660aedd0e95528c67bee980616ea1792 File:Combat.jpg 6 626 1025 2024-03-23T21:42:33Z Habblet 11 {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_a67ce8ed2d32a531442c893007a881215c4648b8.jpg?t=1710756596}} wikitext text/x-wiki == Summary == {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_a67ce8ed2d32a531442c893007a881215c4648b8.jpg?t=1710756596}} f2da26bdcf62a64e1ae9e8a8ab4c5c03f2f13294 File:Wailing Shade.png 6 627 1027 2024-03-23T21:45:24Z Habblet 11 {{NPC license|Wailing Shade}} {{Retake|Needs idle shot}} wikitext text/x-wiki == Summary == {{NPC license|Wailing Shade}} {{Retake|Needs idle shot}} 1a572e31e83eb4e3dd5d2edd6a449272c334236e Template:Navbox/doc 10 103 1028 708 2024-03-23T21:45:38Z BlackHawk 10 wikitext text/x-wiki {{documentation|Template:Navbox}} {{invokes|Navbox|category=No}}<!----Do not add this category to *every* navbox added explicitly to {{Navbox}} at the end of documentation-----> __TOC__<!--Needed to prevent TOC appearing in the navbox itself if it has a heading.--> ==Usage== This template can be used to make a standard navigation box. It is intended for use within another template that standardises the title and contents of the box (see [[Template:Rune equipment]]). This template should not be used directly within articles, as it creates a maintenance burden to do so whenever the contents of the box have to be updated. ==Syntax== <pre> {{Navbox |state = uncollapsed, collapsed, plain, autocollapse (default) |name = mandatory - name of the template |style = optional - style for the whole table |title = mandatory - navbox header |gtitleN = optional - title of N-th group of items |styleN = optional - style for groupN; i.e. text-align |groupN = mandatory - list of groups of items |fstyle = optional - style for footer ; i.e. text-align |footer = optional - navbox footer }} </pre> * '''Groups:''' ** Groups of items can be added as parameters: ''group1'', ''group2'', ''group3'', ... up to ''groupN''. * '''Group title:''' Each group has its own title parameter: ''gtitle1'', ''gtitle2'', ''gtitle3'', ... up to ''gtitleN''. * '''Group style:''' Style may also be customised to each group in: ''style1'', ''style2'', ''style3'', ... up to ''styleN''. * '''Superscript:''' It is preferred to use superscript (<code><nowiki><sup></nowiki></code>) to denote variants of items that are already contained in the navbox. * '''Bullets:''' Create unordered lists with lines beginning with *. ==States== * '''Autocollapse:''' By default, the state of a navbox is "autocollapsed". This means that if the number of navboxes in a page exceeds the maximum allocation of the collapsible navboxes, then the remaining navboxes are collapsed automatically. For more information (or to change the setting), see [[MediaWiki:Gadget-autocollapse.js]]. ** Currently, the ''autocollapse'' allocation is '''<span style="color:red">2</span>'''. This means that if there are 3 navboxes in a page, the third and subsequent navboxes will be collapsed automatically. * '''Uncollapsed:''' Forces the navbox to be displayed. * '''Collapsed:''' The reverse of ''uncollapsed''. Forces the navbox to be hidden instead. ** Navboxes with a height of more than 300 pixels will also be collapsed automatically. For more information (or to change the setting), see [[MediaWiki:Gadget-autocollapse.js]]. * '''Plain:''' Removes the "show/hide" link. ==Sub-groups== * For larger navboxes, it may be necessary to include sub-groups within a particular group of items. It is also possible to collapsible navboxes within the parent navbox, see [[#Collapsible sub-groups|Collapsible sub-groups]]. * To create sub-groups within <code><nowiki>{{Navbox}}</nowiki></code>, certain parameters are to be included: ** The parent navbox group (i.e. ''group2'' in the example below) requires the type parameter (''gtype2 = subgroup''). ** The nested navbox (sub-group) requires the inclusion of the sub-group parameter (''subgroup = yes''). This enables the template to differentiate between the sub-group and the parent navbox. <pre>{{Navbox |name = |title = |gtitle1 = |group1 = |gtitle2 = |gtype2 = subgroup (mandatory) |group2 = {{Navbox |subgroup = yes (mandatory) |gtitle1 = |group1 = |gtitle2 = |group2 = }} }}</pre> ==Collapsible sub-groups== * For extremely long navboxes, it is recommended to use collapsible navboxes within the parent navbox. Further sub-groups can then be added to these collapsible navboxes. * To create collapsible sub-groups within <code><nowiki>{{Navbox}}</nowiki></code>, these parameters need to be included: ** The parent navbox is almost always uncollapsed (''state=uncollapsed''). ** The parent navbox group (i.e. ''group1'' in the example below) requires the type parameter (''gtype1 = subgroup''). ** The nested collapsible navbox requires the inclusion of the collapsible parameter (''collapsible = yes''). This enables the template to differentiate between the collapsible navbox and the parent navbox. ** The nested collapsible navbox is forcefully collapsed (''state=collapsed''). <pre>{{Navbox |state = uncollapsed |name = |gtype1 = subgroup |group1 = {{Navbox |collapsible = yes |state = collapsed |title = |gtitle1 = |group1 = |gtitle2 = |group2 = }} }}</pre> ==Use of images== * The use of images in navboxes is permitted, but please resize the images to keep them small. Inventory-sized images (25-30 pixels) are recommended. ** Use {{t|plink}} to create links with images. ** Use {{t|plinkp}} for any case where text is not desired after the link. ** Use {{t|chatl}} to link chatheads. ** Use {{t|Emote link}} to link emote icons. * Avoid using images in the main header of the navbox. Link and file share the same name <pre>{{plink|Item}}</pre> File name differs from the link <pre>{{plink|Item|pic=File}}</pre> Link and file share the same name, but different text is desired to display <pre>{{plink|Item|txt=Text}}</pre> File name differs from the link and different text is desired to display <pre>{{plink|Item|pic=File|txt=Text}}</pre> {|class="wikitable" |+ Examples !Code !Standard syntax |- |<code><nowiki>{{plink|Abyssal whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Abyssal whip]] [[Abyssal whip]]</nowiki></code> |- |<code><nowiki>{{plink|Granite maul|pic=Abyssal whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Granite maul]] [[Granite maul]]</nowiki></code> |- |<code><nowiki>{{plink|Abyssal whip|txt=Whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Abyssal whip]] [[Abyssal whip|Whip]]</nowiki></code> |- |<code><nowiki>{{plink|Granite maul|pic=Abyssal whip|txt=Whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Granite maul]] [[Granite maul|Whip]]</nowiki></code> |- |<code><nowiki>{{plinkp|Abyssal whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Abyssal whip]]</nowiki></code> |- |<code><nowiki>{{plinkp|Granite maul|pic=Abyssal whip}}</nowiki></code> |<code><nowiki>[[File:Abyssal whip.png|link=Granite maul]]</nowiki></code> |- |} ==Categorising== Navboxes are useful for transcluding categories onto a large number of pages that share both a trait and the navigation box. For example: [[Template:Rune equipment]] transcludes [[:Category:Rune]] onto every page that uses it. There are 2 methods of categorising pages with navboxes: The preferred method is to use '''{{t|Ctg}}'''. This has the most simple rules but is the easiest to use. The other method is to use '''{{t|Mainonly|rules}}''' and provide more complex rules with parser functions. [[Template:Potions]] is an example of this: <pre> {{mainonly|{{#ifeq:{{lc:{{#sub:{{PAGENAME}}|-3}}}}|mix|[[Category:Barbarian mixes]]}}}} </pre> This code tells the template to add [[:Category:Barbarian mixes]] to pages only if their title ends with the string "mix". <code><nowiki>{{ctg|Barbarian mixes::ifmatches[mix]}}</nowiki></code> would '''not''' work here, because several pages include the substring "mix" in other locations, and they would be improperly categorised. Categorisation should only be used on a template for large-scale addition. For small numbers of pages it is simpler to directly add the category to each page. ==Examples== {{#ifeq:{{BASEPAGENAME}}|Navbox||To see the following navboxes in action, see [[Template:Navbox]].}} ===Single line navbox with centered list=== {{#ifeq:{{BASEPAGENAME}}|Navbox|{{Navbox |state = uncollapsed |name = Navbox |title = [[Brighter Shores:Sandbox|Single line navbox]] |style1 = text-align:center |group1 = * Lorem ipsum dolor sit amet * Consectetur adipisicing elit * sed do eiusmod tempor incididunt ut labore et dolore magna aliqua }}}} <pre>{{Navbox |name = |title = |style1 = text-align:center |group1 = }}</pre> ===Navbox with standard footer=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = uncollapsed |name = Navbox |title = [[Brighter Shores:Sandbox|Navbox with footer]] |style1 = text-align:center |group1 = * Lorem ipsum dolor sit amet * Consectetur adipisicing elit * sed do eiusmod tempor incididunt ut labore et dolore magna aliqua |footer = Centered footer }}}} <pre>{{Navbox |name = |title = |gtitle1 = |group1 = |footer = Centered footer }}</pre> ===Navbox with styled footer=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = uncollapsed |name = Navbox |title = [[Brighter Shores:Sandbox|Navbox with footer]] |style1 = text-align:center |group1 = * Lorem ipsum dolor sit amet * Consectetur adipisicing elit * sed do eiusmod tempor incididunt ut labore et dolore magna aliqua |fstyle = text-align:right |footer = Right-aligned footer }}}} <pre>{{Navbox |name = |title = |gtitle1 = |group1 = |fstyle = text-align:right |footer = Right-aligned footer }}</pre> ===Multiple line navbox=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = uncollapsed |name = Navbox |title = [[Brighter Shores:Sandbox|Multiple line navbox]] |gtitle1 = Group title 1 |group1 = Lorem ipsum dolor sit amet... |gtitle2 = Group title 2 |group2 = Consectetur adipisicing elit... |gtitle3 = Group title 3 |group3 = Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. }}}} <pre>{{Navbox |name = |title = |gtitle1 = Group title 1 |group1 = |gtitle2 = Group title 2 |group2 = |gtitle3 = Group title 3 |group3 = }}</pre> ===Collapsed navbox=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = collapsed |name = Navbox |title = [[Brighter Shores:Sandbox|Collapsed navbox]] |style1 = text-align:center |group1 = Lorem? }}}} <pre>{{Navbox |state = collapsed |name = |title = |style1 = text-align:center |group1 = }}</pre> ===Plain navbox with Tnavbar=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = plain |name = Navbox |title = [[Brighter Shores:Sandbox|Plain navbox with Tnavbar]] |style1 = text-align:center |group1 = [<small>[[Brighter Shores:Sandbox|show]]</small>]/[<small>[[Brighter Shores:Sandbox|hide]]</small>] links hidden (see Top-right corner). }}}} <pre>{{Navbox |state = plain |name = |title = |style1 = text-align:center |group1 = }}</pre> ===Plain navbox without Tnavbar=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = plain |title = [[Brighter Shores:Sandbox|Plain navbox without Tnavbar]] |style1 = text-align:center |group1 = [<small>[[Brighter Shores:Sandbox|show]]</small>]/[<small>[[Brighter Shores:Sandbox|hide]]</small>] links hidden (see Top-right corner).<br><small>[[Brighter Shores:Sandbox|v]] {{*}} [[Brighter Shores:Sandbox|d]] {{*}} [[Brighter Shores:Sandbox|e]]</small> links also hidden (see Top-left corner). This is done by removing the ''name'' parameter. }}}} <pre>{{Navbox |state = plain |title = |style1 = text-align:center |group1 = }}</pre> ===Complicated navbox=== {{#ifeq:{{BASEPAGENAME}}|Navbox|<!-- -->{{Navbox |state = uncollapsed |name = Navbox |title = [[Brighter Shores:Sandbox|Complicated navbox]] |gtitle1 = Level 1 Title 1 |group1 = Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem eget nisi bibendum viverra a eget leo. Integer velit arcu, accumsan vel rhoncus eget, auctor a tellus. Nullam mollis turpis sollicitudin justo hendrerit ac volutpat nibh placerat. |gtitle2 = Level 1 Title 2 |group2 = Curabitur posuere vestibulum dolor, quis faucibus justo tristique in. Nulla facilisi. Nunc iaculis erat nec ligula rutrum vel porta dolor posuere. Maecenas venenatis sapien id sapien pellentesque mollis. |gtitle3 = Level 1 Title 3 |group3 = Sed ac sapien risus, in pharetra purus. |gtitle4 = Level 1 Title 4 |group4 = Curabitur eu metus elit, a eleifend est. Aliquam vestibulum mollis metus, ut facilisis justo tincidunt non. Donec vel felis ut purus molestie facilisis consectetur a est. Nulla velit nisi, aliquet at condimentum non, varius ac nibh. Praesent fringilla nisi nibh. Morbi quis dapibus nulla. |gtitle5 = Level 1 Title 5 |gtype5 = subgroup |group5 = {{Navbox |subgroup = yes |gtitle1 = Level 2 Title 1 |group1 = Nam cursus, leo sit amet congue porttitor, ante ligula mattis ante, ut rhoncus nisi augue eget mi. Etiam scelerisque, nunc et sagittis consequat, augue turpis gravida massa, quis blandit lectus orci vel sem. |gtitle2 = Level 2 Title 2 |group2 = Aliquam tortor est, luctus et consectetur eget, dapibus lobortis ante. |gtitle3 = Level 2 Title 3 |gtype3 = subgroup |group3 = {{Navbox |subgroup = yes |gtitle1 = Level 3 Title 1 |group1 = Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vestibulum eu lacus ut sapien tristique fringilla tincidunt vitae risus. |gtitle2 = Level 3 Title 2 |group2 = Donec in libero lorem. Vestibulum consequat tincidunt imperdiet. }} |gtitle4 = Level 2 Title 4 |group4 = Vivamus odio mi, ullamcorper vitae rutrum sed, bibendum vel mauris. Proin sed libero ac sapien pellentesque dapibus. Nulla et ipsum libero. Integer vitae euismod eros. Ut enim purus, consectetur congue fermentum nec, pharetra non dui. Mauris mollis sapien at massa commodo rutrum. Donec non risus ut dui ultrices molestie non a quam. }} |gtitle6 = Level 1 Title 6 |group6 = Duis vel ligula tellus, sed rutrum augue. Cras varius consectetur ligula, vitae accumsan nisl vehicula vitae. Integer mi nunc, cursus sit amet mattis vitae, porta nec ligula. |gtitle7 = Level 1 Title 7 |group7 = Etiam vulputate nisl eget sapien mattis ultrices. Vestibulum et eros vitae arcu condimentum porta. Cras fringilla, erat quis consequat sollicitudin, est tortor tempor massa, quis euismod risus nisi vel massa. Phasellus in risus ac metus pharetra sodales vel at velit. Nulla ullamcorper, orci ac ultrices sollicitudin, ante erat scelerisque eros, auctor pretium felis nibh bibendum purus. |fstyle = text-align:right |footer = Quisque ut nisl arcu. Integer tincidunt, turpis pharetra consectetur consectetur, felis ipsum sagittis turpis, vel interdum eros mauris sed odio. <br> Aenean scelerisque rhoncus leo, a cursus neque vehicula sed. }}}} <pre>{{Navbox |state = uncollapsed |name = |title = |gtitle1 = Level 1 Title 1 |group1 = |gtitle2 = Level 1 Title 2 |group2 = |gtitle3 = Level 1 Title 3 |group3 = |gtitle4 = Level 1 Title 4 |group4 = |gtitle5 = Level 1 Title 5 |gtype5 = subgroup |group5 = {{Navbox |subgroup = yes |gtitle1 = Level 2 Title 1 |group1 = |gtitle2 = Level 2 Title 2 |group2 = |gtitle3 = Level 2 Title 3 |gtype3 = subgroup |group3 = {{Navbox |subgroup = yes |gtitle1 = Level 3 Title 1 |group1 = |gtitle2 = Level 3 Title 2 |group2 = }} |gtitle4 = Level 2 Title 4 |group4 = }} |gtitle6 = Level 1 Title 6 |group6 = |gtitle7 = Level 1 Title 7 |group7 = |fstyle = |footer = }}</pre> ==Preventing unwanted documentation== The [[Template:Navbox/doc|Navbox template's documentation]] is automatically transcluded under the navbox on any Template namespace page. It is not transcluded when used as a sub-group or collapsible sub-group template (''subgroup= yes'' or ''collapsible=yes''). Should the documentation appear when it is unwanted, it can be hidden by setting the doc parameter ''doc=no'' on the template. In most cases, the doc parameter is not used and the parameter is removed completely. On a similar note, the automatically-added category [[:Category:Navbox templates]] can be suppressed by adding ''hidecat=yes''. <noinclude>[[Category:Navbox templates|*{{PAGENAME}}]]</noinclude> <includeonly> {{#ifeq:{{PAGENAME}}|Navbox|[[Category:Lua-based templates]]}}<!--- This should be kept separate to prevent *every* nav box from Being marked as Lua based, simply for the sake of keeping the category easy to navigate ----> </includeonly> 15f83d4d6412ced0e9c0160317b164a4df337481 Wailing Shade 0 85 1029 256 2024-03-23T21:46:01Z Habblet 11 wikitext text/x-wiki [[File:Wailing Shade.png|200px|right]] '''Wailing Shades''' are monsters. They have 682 health. [[Category:Monsters]] a9e541a12d60a52c6d2499af5ab601ff5a5652df Template:Sandboxheader 10 629 1031 2024-03-23T21:47:00Z BlackHawk 10 Created page with "<includeonly>__NEWSECTIONLINK__ __NOTOC__[[Category:Brighter Shores Wiki community]]</includeonly> <div class="tile" style="margin: 2em auto"> <h2>Welcome to the sandbox, a place to try out editing.</h2> Anyone can change this page. To edit, click the "'''Edit source'''" or "'''Add topic'''" tabs above. Content added here will not stay permanently. * If you have an account, you can create your own sandbox in [[Special:MyPage/Sandbox|your userspace]]. * For help getting..." wikitext text/x-wiki <includeonly>__NEWSECTIONLINK__ __NOTOC__[[Category:Brighter Shores Wiki community]]</includeonly> <div class="tile" style="margin: 2em auto"> <h2>Welcome to the sandbox, a place to try out editing.</h2> Anyone can change this page. To edit, click the "'''Edit source'''" or "'''Add topic'''" tabs above. Content added here will not stay permanently. * If you have an account, you can create your own sandbox in [[Special:MyPage/Sandbox|your userspace]]. * For help getting started, see [[Help:Editing]].</div><noinclude>{{/doc}}</noinclude> dcca2c9dfa759ae118a19612cdbd56a4d04b6129 Brighter Shores:Links 4 631 1033 2024-03-23T21:54:27Z BlackHawk 10 Created page with "{{shortcut|BS:LINKS|BS:AFFILIATED}} ==Official links== * [https://brightershores.com ''Brighter Shores''] * [https://store.steampowered.com/app/2791440/Brighter_Shores/ ''Brighter Shores'' on Steam] ==Affiliates== ''If you would like to exchange links with us, please create a topic in the [[Forum:Forum Grove|Forum Grove]].'' [[Category:RuneScape Wiki community|Links]]" wikitext text/x-wiki {{shortcut|BS:LINKS|BS:AFFILIATED}} ==Official links== * [https://brightershores.com ''Brighter Shores''] * [https://store.steampowered.com/app/2791440/Brighter_Shores/ ''Brighter Shores'' on Steam] ==Affiliates== ''If you would like to exchange links with us, please create a topic in the [[Forum:Forum Grove|Forum Grove]].'' [[Category:RuneScape Wiki community|Links]] 0dfb52bb6bc528c3d6e145e74456e4884622fe41 1034 1033 2024-03-23T21:54:38Z BlackHawk 10 wikitext text/x-wiki {{shortcut|BS:LINKS|BS:AFFILIATED}} ==Official links== * [https://brightershores.com ''Brighter Shores''] * [https://store.steampowered.com/app/2791440/Brighter_Shores/ ''Brighter Shores'' on Steam] ==Affiliates== ''If you would like to exchange links with us, please create a topic in the [[Forum:Forum Grove|Forum Grove]].'' [[Category:Brighter Shores community|Links]] 2324b0847789fef02cc8ed6f503e3ff294bebc0b 1035 1034 2024-03-23T21:54:57Z BlackHawk 10 wikitext text/x-wiki {{shortcut|BS:LINKS|BS:AFFILIATED}} ==Official links== * [https://brightershores.com ''Brighter Shores''] * [https://store.steampowered.com/app/2791440/Brighter_Shores/ ''Brighter Shores'' on Steam] ==Affiliates== ''If you would like to exchange links with us, please create a topic in the [[Forum:Forum Grove|Forum Grove]].'' [[Category:Brighter Shores Wiki community|Links]] af38876fe8eb8eff2f3c9f6f77f8cc85299c2e34 1041 1035 2024-03-23T22:01:06Z Cook Me Plox 28 /* Affiliates */ this is not a policy wikitext text/x-wiki {{shortcut|BS:LINKS|BS:AFFILIATED}} ==Official links== * [https://brightershores.com ''Brighter Shores''] * [https://store.steampowered.com/app/2791440/Brighter_Shores/ ''Brighter Shores'' on Steam] 0a2dffa656344173762b3ae6fc589ac62c0fb768 Template:Infobox Item 10 77 1036 765 2024-03-23T21:58:02Z InvalidCards 4 wikitext text/x-wiki <includeonly>{| class="wikitable" style="float:right" |+{{{name|{{PAGENAME}}} |- |colspan="2" style="text-align:center"|[[File:{{{image|}}}|50px]] |- |<b>Release date</b>||{{{release|Q3 2024}}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{{profession|}}} |- |<b>Value</b>||{{{value|0}}} |}{{Mainonly|[[Category:Items]]}}</includeonly> 9810fc208b1113bf98f9bbf7672bd7dee300f7cf 1037 1036 2024-03-23T21:58:32Z InvalidCards 4 wikitext text/x-wiki <includeonly>{| class="wikitable" style="float:right" |+{{{name|{{PAGENAME}}} |- |colspan="2" style="text-align:center"|[[File:{{{image|{{PAGENAME}}.png}|50px]] |- |<b>Release date</b>||{{{release|Q3 2024}}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{{profession|}}} |- |<b>Value</b>||{{{value|0}}} |}{{Mainonly|[[Category:Items]]}}</includeonly> 76b03bb9e2570ba79aa485ac19dcde946bafe65d 1038 1037 2024-03-23T21:59:33Z InvalidCards 4 wikitext text/x-wiki <includeonly>{| class="wikitable" style="float:right" |+{{{name|{{PAGENAME}}} |- |colspan="2" style="text-align:center"|[[File:{{{image|{{PAGENAME}}.png}}}|50px]] |- |<b>Release date</b>||{{{release|Q3 2024}}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{{profession|}}} |- |<b>Value</b>||{{{value|0}}} |}{{Mainonly|[[Category:Items]]}}</includeonly> f5b8abbdef4fc4edf75a182f34710994665f463f 1039 1038 2024-03-23T21:59:47Z InvalidCards 4 wikitext text/x-wiki <includeonly>{| class="wikitable" style="float:right" |+{{{name|{{PAGENAME}}}}} |- |colspan="2" style="text-align:center"|[[File:{{{image|{{PAGENAME}}.png}}}|50px]] |- |<b>Release date</b>||{{{release|Q3 2024}}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{{profession|}}} |- |<b>Value</b>||{{{value|0}}} |}{{Mainonly|[[Category:Items]]}}</includeonly> 5d62a8b8c38bebe01cf37d5f1a84f2549c0ac808 Hammermage potion 0 632 1040 2024-03-23T21:59:57Z InvalidCards 4 Created page with "{{Unofficial name}} {{Infobox Item |episode=Hopeport |profession=Alchemist |value=330 }} The '''Hammermage potion''' is a type of [[potion]]." wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |episode=Hopeport |profession=Alchemist |value=330 }} The '''Hammermage potion''' is a type of [[potion]]. b2d417c8674e4135430a7d62063fda6bc0dd4728 1048 1040 2024-03-23T22:06:21Z BlackHawk 10 added [[Category:Potions]] using [[Help:Gadget-HotCat|HotCat]] wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |episode=Hopeport |profession=Alchemist |value=330 }} The '''Hammermage potion''' is a type of [[potion]]. [[Category:Potions]] 580ebcc96b07c4c57ac5228284d0f5abf64f5464 File:Hammermage potion.png 6 633 1042 2024-03-23T22:01:08Z InvalidCards 4 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Brighter Shores:About 4 432 1043 690 2024-03-23T22:03:03Z Cook Me Plox 28 wikitext text/x-wiki {{shortcut|BS:ABOUT|BS:BSW|BS:WIKI}} The '''Brighter Shores Wiki''' is a [[wikipedia:wiki|wiki]] based entirely on the MMORPG game ''[[Brighter Shores]]'' and its many features. There are currently {{NUMBEROFARTICLES}} articles and {{NUMBEROFFILES}} files on the Brighter Shores Wiki, with {{NUMBEROFEDITS}} edits made to {{NUMBEROFPAGES}} pages in total. The wiki currently has {{NUMBEROFACTIVEUSERS}} [[Brighter Shores:Access levels|active users]] and {{NUMBEROFADMINS}} [[Brighter Shores:Administrators|administrators]]. ==Overview== Started on [[22 March]] [[2024]], the Brighter Shores Wiki's goal is to remain a vast, knowledgeable source for all things in ''Brighter Shores''. As the site is a wiki, anybody can edit it, and all are encouraged to do so. ==How you can help== If you see anything that needs changing - change it! If you notice improper grammar, spelling errors, punctuation mistakes, inaccuracies, incompleteness or anything else that needs doing, hit the Edit button at the top of the page and correct it yourself. Other activities you can help out with include: * Checking [[Special:RecentChanges|recent changes]] for vandalism * Creating [[Special:WantedPages|wanted pages]] * Creating [[Special:SearchDigest|redirects for commonly searched terms]] * Ensuring that no pages are [[Special:LonelyPages|orphaned]] * Making sure that all pages have [[Special:UncategorisedPages|categories]] Other projects that need your help can be found at [[Brighter Shores:Maintenance]] along with common maintenance tasks. It's a good idea for users to [[Special:CreateAccount|register an account]]. This way, your IP address is hidden from public view, all your edits can be attributed to one account, and you can customise your userpage to your heart's content. Check out our [[Help:Editing|editing guides]] for more information on how to edit and what to help with. ==History== ;2024 * '''22 March''' – The Brighter Shores Wiki is founded ==See also== * [[Brighter Shores:Links]] [[Category:Brighter Shores Wiki community|About]] c6feaa99657619dbf64256e7f0271a0d28b9e964 Coif 0 634 1044 2024-03-23T22:03:30Z InvalidCards 4 Created page with "{{Unofficial name}} {{Infobox Item |profession=Combat |value=0 }} The '''coif''' is a piece of equipment worn on the head." wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |profession=Combat |value=0 }} The '''coif''' is a piece of equipment worn on the head. 492e27b9463c46cd0ad3e5c6fe8d16c66e69e0a8 File:Coif.png 6 635 1045 2024-03-23T22:03:57Z InvalidCards 4 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Merchant potion 0 636 1046 2024-03-23T22:05:49Z InvalidCards 4 Created page with "{{Unofficial name}} {{Infobox Item |episode=Hopeport |profession=[[Alchemist]] |value=18 }} The '''Merchant potion''' is a type of [[potion]]." wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |episode=Hopeport |profession=[[Alchemist]] |value=18 }} The '''Merchant potion''' is a type of [[potion]]. 4f43f969387c1a6b4f89bf05c77cd4ffabaf597c 1050 1046 2024-03-23T22:07:37Z InvalidCards 4 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |episode=Hopeport |profession=[[Alchemist]] |value=18 }} The '''Merchant potion''' is a type of [[potion]]. [[Category:Potions]] 0bcc66fd7d76e467b334474d9a5b811d1e81dc78 File:Merchant potion.png 6 637 1047 2024-03-23T22:06:14Z InvalidCards 4 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Category:Potions 14 638 1049 2024-03-23T22:07:07Z BlackHawk 10 Created page with "{{Categoryheader|pages|potions}}" wikitext text/x-wiki {{Categoryheader|pages|potions}} 634bf39e84867f225915a10464301596b4cc8873 Miner potion 0 465 1051 761 2024-03-23T22:08:11Z InvalidCards 4 cat wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name=Miner potion |image=Miner potion.png |release= |episode=Hopeport |profession=[[Alchemist]] |value=16 }} '''Miner potions''' are a type of [[potion]]. [[Category:Potions]] 5b4ccd2d701b123baade8dcc83644026370032d5 Coif 0 634 1052 1044 2024-03-23T22:09:18Z InvalidCards 4 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |profession=Combat |value=0 }} The '''coif''' is a piece of equipment worn on the head. [[Category:Equipment]] 206708953c01777eac31a8fa5c094bbe1c67afb3 1079 1052 2024-03-23T22:26:53Z InvalidCards 4 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |profession=Combat |value=0 }} The '''coif''' is a piece of equipment worn on the head.<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Equipment]] 2dc69e32b96279b7178788895d78cbed40a48b99 File:Hammermage potion.png 6 633 1053 1042 2024-03-23T22:09:36Z BlackHawk 10 wikitext text/x-wiki [[Category:Potion images]] 388d06d85806717fa6f546638e7310b47cc31d1c Category:Equipment 14 639 1054 2024-03-23T22:09:42Z InvalidCards 4 Created page with "{{Categoryheader|pages|equipment}} [[Category:Items]]" wikitext text/x-wiki {{Categoryheader|pages|equipment}} [[Category:Items]] dc65a82154083b9ee9ea36f3d9d7fde8928c7f2b File:Merchant potion.png 6 637 1055 1047 2024-03-23T22:09:45Z BlackHawk 10 wikitext text/x-wiki [[Category:Potion images]] 388d06d85806717fa6f546638e7310b47cc31d1c File:Miner potion.png 6 467 1056 766 2024-03-23T22:09:52Z BlackHawk 10 wikitext text/x-wiki [[Category:Potion images]] 388d06d85806717fa6f546638e7310b47cc31d1c Category:Potions 14 638 1057 1049 2024-03-23T22:09:57Z InvalidCards 4 cat wikitext text/x-wiki {{Categoryheader|pages|potions}} [[Category:Items]] b1e988ef054f123175aa5e82d1f651f638693d97 Category:Potion images 14 640 1058 2024-03-23T22:10:36Z BlackHawk 10 Created page with "{{Categoryheader|images|potions||}} [[Category:Item images]] [[Category:Potions]]" wikitext text/x-wiki {{Categoryheader|images|potions||}} [[Category:Item images]] [[Category:Potions]] 38ca8cb03bd5190d922ea34b7ac59e79d4ce5aec Category:Games 14 170 1059 306 2024-03-23T22:10:37Z InvalidCards 4 cat wikitext text/x-wiki {{Categoryheader|pages and subcategories|games}} [[Category:Game info]] f13032f0e5850305bd60b211b215853cac8d3618 Category:Interface 14 458 1060 742 2024-03-23T22:11:08Z InvalidCards 4 cat wikitext text/x-wiki {{Categoryheader|pages|the game [[interface]]}} [[Category:Game info]] 63db4e79b974846982c9ac793a02884486ecbb92 Category:Item images 14 641 1061 2024-03-23T22:11:12Z BlackHawk 10 Created page with "{{Categoryheader|images|item images with no particular subcategory||}} [[Category:Images]]" wikitext text/x-wiki {{Categoryheader|images|item images with no particular subcategory||}} [[Category:Images]] 744c793b35b8958dee8db412706f61ff859ec24a Category:Mechanics 14 459 1062 748 2024-03-23T22:11:26Z InvalidCards 4 cat wikitext text/x-wiki {{Categoryheader|pages|game mechanics}} [[Category:Content]] f4b1d29008eebbdf7c1f6f8937172a7991ebdd30 File:Coif.png 6 635 1063 1045 2024-03-23T22:12:10Z InvalidCards 4 wikitext text/x-wiki [[Category:Equipment images]] c0f3495b1253ecbf1fbea2d80ea286868c4c9e0e Category:Equipment images 14 642 1064 2024-03-23T22:12:33Z InvalidCards 4 Created page with "{{Categoryheader|images|equipment||}} [[Category:Item images]] [[Category:Equipment]]" wikitext text/x-wiki {{Categoryheader|images|equipment||}} [[Category:Item images]] [[Category:Equipment]] 01dea09f71d2a4dd393ac901211b12785d71ac69 Basic bacon 0 84 1065 833 2024-03-23T22:14:00Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name=Basic bacon |image=Item basic bacon.png |release= |episode= |profession=[[Chef]] |value= }} '''Basic bacon''' is a food that can be created using the [[Chef]] profession. It can be obtained by frying raw bacon in a kitchen. [[Category:Items]] [[Category:Food]] a44b462528cf5e7925c0920537f95d657b7b9f87 1070 1065 2024-03-23T22:22:31Z ToofleBerry 6 Added hyperlink. wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name=Basic bacon |image=Item basic bacon.png |release= |episode= |profession=[[Chef]] |value= }} '''Basic bacon''' is a food that can be created using the [[Chef]] profession. It can be obtained by frying [[raw basic bacon]] in a kitchen. [[Category:Items]] [[Category:Food]] 7b18c468c88b5f95316b1fa3039144d0908e13c8 1086 1070 2024-03-23T22:30:53Z InvalidCards 4 +Refs -Items category (automatically added by Infobox Item) wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name=Basic bacon |image=Item basic bacon.png |release= |episode= |profession=[[Chef]] |value= }} '''Basic bacon''' is a food that can be created using the [[Chef]] profession. It can be obtained by frying [[raw basic bacon]] in a kitchen.<ref>https://brightershores.com/screenshots/02_cooking.jpg</ref> ==References== {{Reflist}} [[Category:Food]] 0a1f1fcfbdc6976a854c18ff954afbec0e565051 Category:Food 14 643 1066 2024-03-23T22:14:21Z BlackHawk 10 Created page with "{{Categoryheader|pages|food||}} [[Category:Items|Food]]" wikitext text/x-wiki {{Categoryheader|pages|food||}} [[Category:Items|Food]] c4402d277e6900032483096a0ed9b482a9e393f3 File:Basic bacon.png 6 392 1067 642 2024-03-23T22:15:00Z BlackHawk 10 wikitext text/x-wiki [[Category:Food images]] c2551224a66dc9773d5073bd42696054240bf631 Category:Food images 14 644 1068 2024-03-23T22:15:23Z BlackHawk 10 Created page with "{{Categoryheader|images|food||}} [[Category:Item images]] [[Category:Food]]" wikitext text/x-wiki {{Categoryheader|images|food||}} [[Category:Item images]] [[Category:Food]] e6a5bf15120a73c24e889a1957979ea38ca729f5 Health potion 0 645 1069 2024-03-23T22:22:31Z InvalidCards 4 Created page with "{{Unofficial name}} {{Infobox Item |profession=Alchemist |value=? }} '''Health potions''' are a type of [[potion]], most likely used to restore one's health in [[combat]]. [[Category:Potions]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |profession=Alchemist |value=? }} '''Health potions''' are a type of [[potion]], most likely used to restore one's health in [[combat]]. [[Category:Potions]] 31473831dbcbd3a5073041ee7b79aca19568f2e0 1078 1069 2024-03-23T22:26:22Z InvalidCards 4 Refs wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |profession=Alchemist |value=? }} '''Health potions''' are a type of [[potion]]<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref>, most likely used to restore one's health in [[combat]]. ==References== {{Reflist}} [[Category:Potions]] 849db66f74d96820d3553caeb18d840a946859f7 File:Health potion.png 6 646 1071 2024-03-23T22:22:54Z InvalidCards 4 [[Category:Potion images]] wikitext text/x-wiki == Summary == [[Category:Potion images]] 403612027df4e8aa7c694b3882d8a5d2b1b95b5c File:Raw basic bacon.png 6 398 1072 648 2024-03-23T22:23:03Z ToofleBerry 6 wikitext text/x-wiki [[Category:Item images]] 915e99ad51bd4c6b4ce4f7bef3caaf8e3d3f97b2 1076 1072 2024-03-23T22:25:26Z BlackHawk 10 wikitext text/x-wiki [[Category:Food images]] c2551224a66dc9773d5073bd42696054240bf631 Strength Cryonae 0 647 1073 2024-03-23T22:24:37Z InvalidCards 4 Created page with "{{Unofficial name}} {{Infobox Item |profession=Alchemist |value=? }} '''Cryoknight potions''' are a type of [[potion]]. [[Category:Potions]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |profession=Alchemist |value=? }} '''Cryoknight potions''' are a type of [[potion]]. [[Category:Potions]] 3f3dfcdc47f1d54f8a702f648aa935b00eb68598 1077 1073 2024-03-23T22:25:59Z InvalidCards 4 Refs wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |profession=Alchemist |value=? }} '''Cryoknight potions''' are a type of [[potion]].<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] 43aec8a5dcab61499c11d2e132305754b72d4479 File:Cryoknight potion.png 6 648 1074 2024-03-23T22:24:53Z InvalidCards 4 [[Category:Potion images]] wikitext text/x-wiki == Summary == [[Category:Potion images]] 403612027df4e8aa7c694b3882d8a5d2b1b95b5c Raw basic bacon 0 478 1075 832 2024-03-23T22:25:12Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name=Raw basic bacon |image=Item raw basic bacon.png |release= |episode= |profession=[[Chef]] |value= }} '''Raw basic bacon''' is an item that can be fried to [[basic bacon]] using the [[Chef]] profession. [[Category:Items]] [[Category:Food]] e415cbd1c6af45d961c1781d57d2dfc8e30d4bc3 1085 1075 2024-03-23T22:30:31Z InvalidCards 4 +Refs -Items category (automatically added by Infobox Item) wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name=Raw basic bacon |image=Item raw basic bacon.png |release= |episode= |profession=[[Chef]] |value= }} '''Raw basic bacon''' is an item that can be fried to [[basic bacon]] using the [[Chef]] profession.<ref>https://brightershores.com/screenshots/02_cooking.jpg</ref> ==References== {{Reflist}} [[Category:Food]] d455974b4d9b2a95e9411cea34a7e063dbd547c8 Branch 0 464 1080 763 2024-03-23T22:27:28Z InvalidCards 4 Refs wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name=Branch |image=Branch.png |release= |episode=Hopeforest |profession=[[Woodcutter]] |value=48 }} '''Branches''' can be collected by the [[Woodcutter]] [[profession]] in [[Hopeforest]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} e9e49f4b3fcc57e8c4a3913c27f61e968b298a5c Merchant potion 0 636 1081 1050 2024-03-23T22:27:49Z InvalidCards 4 Refs wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |episode=Hopeport |profession=[[Alchemist]] |value=18 }} The '''Merchant potion''' is a type of [[potion]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] 77b3b7c06a3dd6604974e6a70f2193f1d41dd8fe Hammermage potion 0 632 1082 1048 2024-03-23T22:28:15Z InvalidCards 4 Refs wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |episode=Hopeport |profession=Alchemist |value=330 }} The '''Hammermage potion''' is a type of [[potion]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] e7ce2724b88bc545f093d05a64a1e9c8bf81daf2 Miner potion 0 465 1083 1051 2024-03-23T22:28:36Z InvalidCards 4 Refs wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name=Miner potion |image=Miner potion.png |release= |episode=Hopeport |profession=[[Alchemist]] |value=16 }} '''Miner potions''' are a type of [[potion]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] faa3649f6b3e1bc991238998a430ef0eb3500e32 Sturlet 0 67 1084 131 2024-03-23T22:29:29Z InvalidCards 4 wikitext text/x-wiki {{Infobox Item |name=Sturlet |image=Sturlet.png |release=Soon }} '''Sturlet''' is a type of [[fish]] that gives 7 experience in the [[Fisher]] profession per catch.<ref>https://brightershores.com/screenshots/12_vincible.jpg</ref> ==References== {{Reflist}} d17ff743d57684dddfddd25b85fdfdfeda6457b3 Brighter Shores:Policies 4 470 1087 822 2024-03-23T22:42:02Z BlackHawk 10 wikitext text/x-wiki To ensure that people can contribute in good faith to the wiki, the Brighter Shores Wiki has several easy-to-follow policies. These are generally modelled on similar wikis of this nature, including Wikipedia. The key to maintaining a successful wiki is by making decisions through [[wikipedia:Wikipedia:Consensus|consensus]], which is what we aim to do at all times. ==Community policies== * '''Ownership''' – Users do not own the pages and files they edit or create. They exist to better the wiki in some shape or form. * '''Protection''' – Unless there are reasonable grounds for protecting one, pages should remain fully editable by users to ensure wide collaboration is possible. * '''Status and opinion-weight''' – An editor should not be treated differently or have any extra weight on their opinions based on their experience or status. * '''Three-revert rule''' – Explain the changes you make in the edit summary. Rather than engaging in a revert war with another user, discuss it in the talk page. * '''Use common sense''' – Common sense takes precedence over any policy. Be reasonable. ==Content policies== * '''Granularity''' – Anything notable, excluding players, may have its own article. * '''Neutral point of view''' – Pages on the wiki should always be written from a neutral point of view. * '''Spoilers''' – Articles may contain content that spoils some of the game. There are no warnings on the wiki, so viewers should read at their own risk. * '''Assume good faith''' – Always assume that an editor's actions were an attempt to improve the wiki. * '''Don't delete discussions''' – Don't delete previous discussions. These include user talk pages. * '''Don't edit userpages''' – There's no reason to edit another user's pages under most circumstances. * '''Blocking users''' – Disruptive users can be blocked from editing by administrators. Blocked users can still read all pages, but can't edit any page except their user talk page. * '''Treating other users with respect''' – Be nice and don't try to cause unnecessary strife. 950f3d4ed69026c81392e50ecfc3036f498fc94b Barricade guard 0 475 1088 824 2024-03-23T22:51:49Z BlackHawk 10 wikitext text/x-wiki '''Barricade guard''' is an NPC that guards the [[Barricades]]. The player must talk to [[Captain Jal Degreene]] as part of a quest in order to be allowed through. If the player attempts to pass the barricades before talking with Captain Jal Degreene, the guard will say "Yeah, like I said, it's not safe. You'll have to get permission from Captain Jal Degreene if you want in." [[Category:NPCs]] a321f16072a8feebf980d47097b1f4c13e43130e Backpack 0 457 1089 739 2024-03-23T22:53:54Z BlackHawk 10 wikitext text/x-wiki The '''backpack''' is where [[player]]s store the items that they are currently carrying. It is accessed by clicking the backpack button at the bottom left of the game [[interface]]. [[File:Backpack interface.png|thumb|The backpack interface]] The player's backpack stores up to 24 items. {{Interface}} 481a06850b7cbb0dc376b3e05953c0ed086e3fef 1095 1089 2024-03-23T22:58:41Z ToofleBerry 6 wikitext text/x-wiki [[File:Icon backpack.png]] The '''backpack''' is where [[player]]s store the items that they are currently carrying. It is accessed by clicking the backpack button at the bottom left of the game [[interface]]. [[File:Backpack interface.png|thumb|The backpack interface]] The player's backpack stores up to 24 items. {{Interface}} 1e26eea27d411372d8f8cc516c278372e73f9cd7 File:Backpack interface.png 6 649 1090 2024-03-23T22:54:38Z BlackHawk 10 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1091 1090 2024-03-23T22:55:14Z BlackHawk 10 wikitext text/x-wiki [[Category:Interface images]] 8b38a20a90b4a2aadd7ece37d674d3ef53efce66 Category:Interface images 14 650 1092 2024-03-23T22:56:08Z BlackHawk 10 Created page with "{{Categoryheader|images|the ''[[Brighter Shores]]'' [[interface]]||}} [[Category:Images]]" wikitext text/x-wiki {{Categoryheader|images|the ''[[Brighter Shores]]'' [[interface]]||}} [[Category:Images]] 4ddaa8eea01ccc9207c2599d99a4c3de5816bbf2 File:Profession forager.png 6 417 1093 670 2024-03-23T22:57:57Z Merds 25 Merds uploaded a new version of [[File:Profession forager.png]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Guardian icon.svg 6 474 1094 814 2024-03-23T22:58:22Z Merds 25 Merds uploaded a new version of [[File:Guardian icon.svg]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Hammermage icon.svg 6 473 1096 813 2024-03-23T22:59:32Z Merds 25 Merds uploaded a new version of [[File:Hammermage icon.svg]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Cryoknight icon.svg 6 472 1097 812 2024-03-23T22:59:42Z Merds 25 Merds uploaded a new version of [[File:Cryoknight icon.svg]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Combat actions interface.png 6 651 1098 2024-03-23T23:00:07Z BlackHawk 10 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1100 1098 2024-03-23T23:00:59Z BlackHawk 10 wikitext text/x-wiki [[Category:Interface images]] 8b38a20a90b4a2aadd7ece37d674d3ef53efce66 Combat 0 191 1099 1026 2024-03-23T23:00:15Z BlackHawk 10 wikitext text/x-wiki [[File:Equipment.jpg|thumb|right|A preview of player in combat.]] [[File:Combat 2.jpg|thumb|right|Another preview of player in combat.]] [[File:Combat actions interface.png|thumb|The combat actions interface.]] '''Combat''' is a mechanic in [[Brighter Shores]] in which several [[player]]s or [[monsters]] fight. Depending on the [[class]] that is being used, player combat can utilise melee, ranged, or magic. [[Special attacks]] are a feature of the combat system. {{Mechanics}} 9ec3224b800ac09f28c4b5663576cc63d5a728b7 MediaWiki:Common.less/mainpage.less 8 44 1101 89 2024-03-23T23:16:23Z Merds 25 less less /* =================== MAIN PAGE =================== */ body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } /* =================== variables =================== */ @mp-text-light: fade( @white, 90% ); @mp-gutter-width: .9rem; /* ========================== page-specific styles ========================== */ body.page-Main_Page { // limit max width for readability // don't use #mw-content-text because it includes the editform .mw-parser-output { max-width: 75em; margin: 0 auto; } // not when editing &.action-view { .catlinks, #contentSub, // hide pagetitle in favor of .mainpage-header // Note: as of mw1.38, this is not needed anymore // blanking both [[MediaWiki:Mainpage-title-loggedin]] & // [[MediaWiki:Mainpage-title]] applies an inline `display: none;` // #firstHeading, // anything listed in the sitenotice should already be on the main page #siteNotice { display: none; } } } /* ==================== general styles ==================== */ .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; .header-intro { flex: 2; h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 .15em; } p { font-size: 1.1em; line-height: 1.7em; } } .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } } // main sections .mainpage-body { display: grid; grid-template-areas: "event event event" // for tbzr tile "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); h2 a { color: var(--text-color); } .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .tile-row { width: 100%; margin-bottom: 0; } } .mainpage-body .tile-row { display: grid; gap: 0.9rem } // left column .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } // right column .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } /* ==================== components ==================== */ .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: .7rem; width: .45rem; vertical-align: middle; &.dark { filter: invert(80%); } } /* ============================= section-specific styles ============================= */ /* -------------------- wiki contents -------------------- */ @mp-contents-height: 4.5rem; .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); .tile-halves { flex: 1; } .tile-top { height: 4.5rem; position: relative; // needed for ribbon } h2 { margin: 0; padding: 0; } .tile-bottom.link-button a { padding: 0.75em 0.2em; // prevent grid gap misalignment } } /* -------------------- popular pages -------------------- */ .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: .6em; margin: 1em 0 .7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; a { flex: 1; display: block; color: @white; font-weight: bold; text-align: center; text-decoration: none; padding: .7em 1em; } &:hover { filter: brightness(115%); transition: 100ms; } } /* -------------------- discord server -------------------- */ .mainpage-discord { border: none; box-shadow: @box-shadow-dark; .tile-top { display: flex; align-items: center; background: @discord-bg; padding: 1em 1.25em; a { flex: 1; position: relative; // allow link to cover icon text-decoration: none; &:hover .arrow { transform: translateX(50%); } } } .tile-bottom { background: @discord-bg-dark; border: none; padding: 1em 1.25em; p { color: @white; font-weight: bold; font-size: .9em; text-align: center; text-transform: uppercase; letter-spacing: .03em; margin: 0; } } .partner-icon { margin-right: .75em; text-align: center; width: 60px; } .server-name { color: @white; font-weight: bold; font-size: 1.25em; margin: .5em 0 -0.15em; } .server-tagline { color: @mp-text-light; margin-bottom: .5em; } .arrow { position: absolute; top: ~"calc(50% - .5em)"; // center arrow on its point right: 0; height: 1em; width: .7em; background-size: .7em 1em; transition: .3s ease-out; } } /* -------------------- edit the wiki -------------------- */ .mainpage-editing { border: none; box-shadow: @box-shadow-dark; .tile-top { background: @steel-blue; } .tile-bottom { background: saturate( darken( @steel-blue, 4% ), 4% ); border: none; padding: .8rem 1.5rem .4rem; } h2, a { color: @white; } p { color: @mp-text-light; } ul { list-style-image: url('filepath://Transparent-chevron.svg'); } } /* ========================== media queries ========================== */ @media only screen and (max-width: @width-breakpoint-desktop-wide) { // switch to two rows of three tiles .mainpage-contents { grid-template-columns: repeat(3, 1fr) } } @media only screen and (max-width: @width-breakpoint-desktop) { // mainpage-left and -right on one column now .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); .tile-halves { // hide third recent update &:last-child { display: none; } // zoom on hover &:hover .tile-top img { transform: scale(1.04); } } .tile-top { height: 18vw; min-height: 9em; } } // hide other things .mainpage-header .header-stats { display: none; } // kill margin as it duplicates grid's gap .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: @width-breakpoint-tablet) { .mainpage-recent-updates { // resulting in single column grid-template-columns: none; // revert display:none .tile-halves:last-child { display: flex; } } // switch to three rows of two tiles .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } 80784031c4733e9705fd4037a9b23e961888049b MediaWiki:Common.css 8 30 1102 939 2024-03-23T23:16:32Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.25em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.25em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } e937175ace325542c9f85e20670147e7e28ccc27 1106 1102 2024-03-24T00:00:05Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 6.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-discord { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-discord .tile-top { display: flex; align-items: center; background: #5865f2; padding: 1em 1.25em; } .mainpage-discord .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-discord .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-discord .tile-bottom { background: #525ee0; border: none; padding: 1em 1.25em; } .mainpage-discord .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-discord .partner-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-discord .server-name { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0.5em 0 -0.15em; } .mainpage-discord .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-discord .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 88e3ac82f0860164521e25c1b4e7e7c3e7ae013f 1111 1106 2024-03-24T00:18:28Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #000; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 6.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 84a2a0f753def74700fa4c4e42753b4699df7d1f 1114 1111 2024-03-24T00:35:25Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 6.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } ad703ea67282e690523565e4d2f2096c7935488c 1116 1114 2024-03-24T00:51:44Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #878787; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 6.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 02c685caf40344ae125e987451897f3eba1db9c6 1118 1116 2024-03-24T00:59:06Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #878787; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 1bea3cb7a674bed420d95353c485c3a1ae3c7b95 1123 1118 2024-03-24T01:28:38Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #878787; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main); box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15); } .vector-menu-dropdown .vector-menu-heading { color: #937040; } .vector-menu-dropdown .vector-menu-heading:hover { color: #937040; } .vector-menu-dropdown .vector-menu-heading:focus { color: #937040; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 1dd5ad4d210deab17823e112cb8ffd71b516b950 1125 1123 2024-03-24T01:30:09Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #878787; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: #937040 !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 0055e9846f58bd4e4b67ed3f8e2bef58c3fd7346 Template:Main Page/Discord 10 364 1103 652 2024-03-23T23:17:33Z Merds 25 wikitext text/x-wiki <noinclude>{{/doc}}</noinclude><div class="mainpage-discord tile-halves plainlinks"> <div class="tile-top"> <div class="partner-icon">[[File:Discord logo icon.svg|40px|link=]]</div> [https://discord.gg/xGDZskaAn9 <div class="arrow nomobile"></div><p class="server-name">Brighter Shores Community</p><p class="server-tagline">Join the community Discord server to discuss the game!</p>] </div> <div class="tile-bottom"> <p>Community Discord</p> </div> </div> fe842dd79d9a826b23ecca53440c83dbca7c9a21 1107 1103 2024-03-24T00:13:46Z Merds 25 wikitext text/x-wiki <noinclude>{{/doc}}</noinclude><div class="mainpage-social mainpage-discord tile-halves plainlinks"> <div class="tile-top"> <div class="partner-icon">[[File:Discord logo icon.svg|40px|link=]]</div> [https://discord.gg/xGDZskaAn9 <div class="arrow nomobile"></div><p class="server-name">Brighter Shores Community</p><p class="server-tagline">Join the community Discord server to discuss the game!</p>] </div> <div class="tile-bottom"> <p>Community Discord</p> </div> </div> e1a070f66a5e3f1f6e90d2c58ded5877afd5812f 1108 1107 2024-03-24T00:15:21Z Merds 25 wikitext text/x-wiki <noinclude>{{/doc}}</noinclude><div class="mainpage-social mainpage-discord tile-halves plainlinks"> <div class="tile-top"> <div class="social-icon">[[File:Discord logo icon.svg|40px|link=]]</div> [https://discord.gg/xGDZskaAn9 <div class="arrow nomobile"></div><p class="server-name">Brighter Shores Community</p><p class="server-tagline">Join the community Discord server to discuss the game!</p>] </div> <div class="tile-bottom"> <p>Community Discord</p> </div> </div> 75d84e093c6dc1f31ab0479efa8f29ebdd6dd750 1109 1108 2024-03-24T00:17:06Z Merds 25 wikitext text/x-wiki <noinclude>{{/doc}}</noinclude><div class="mainpage-social mainpage-discord tile-halves plainlinks"> <div class="tile-top"> <div class="social-icon">[[File:Discord logo icon.svg|40px|link=]]</div> [https://discord.gg/xGDZskaAn9 <div class="arrow nomobile"></div><p class="social-header">Brighter Shores Community</p><p class="server-tagline">Join the community Discord server to discuss the game!</p>] </div> <div class="tile-bottom"> <p>Community Discord</p> </div> </div> f4d670d93fd2cf72beb7e6afe64a7925bd996590 MediaWiki:Common.less/mainpage.less 8 44 1104 1101 2024-03-23T23:59:43Z Merds 25 less less /* =================== MAIN PAGE =================== */ body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } /* =================== variables =================== */ @mp-text-light: fade( @white, 90% ); @mp-gutter-width: .9rem; /* ========================== page-specific styles ========================== */ body.page-Main_Page { // limit max width for readability // don't use #mw-content-text because it includes the editform .mw-parser-output { max-width: 75em; margin: 0 auto; } // not when editing &.action-view { .catlinks, #contentSub, // hide pagetitle in favor of .mainpage-header // Note: as of mw1.38, this is not needed anymore // blanking both [[MediaWiki:Mainpage-title-loggedin]] & // [[MediaWiki:Mainpage-title]] applies an inline `display: none;` // #firstHeading, // anything listed in the sitenotice should already be on the main page #siteNotice { display: none; } } } /* ==================== general styles ==================== */ .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; .header-intro { flex: 2; h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 .15em; } p { font-size: 1.1em; line-height: 1.7em; } } .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } } // main sections .mainpage-body { display: grid; grid-template-areas: "event event event" // for tbzr tile "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); h2 a { color: var(--text-color); } .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .tile-row { width: 100%; margin-bottom: 0; } } .mainpage-body .tile-row { display: grid; gap: 0.9rem } /* remove this when we get a 6th thing to add on the mainpage "events" */ .mainpage-contents.tile-row { display:flex; .tile-top { height: 6.5rem; } } /* remove until above this line */ // left column .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } // right column .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } /* ==================== components ==================== */ .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: .7rem; width: .45rem; vertical-align: middle; &.dark { filter: invert(80%); } } /* ============================= section-specific styles ============================= */ /* -------------------- wiki contents -------------------- */ @mp-contents-height: 4.5rem; .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); .tile-halves { flex: 1; } .tile-top { height: 4.5rem; position: relative; // needed for ribbon } h2 { margin: 0; padding: 0; } .tile-bottom.link-button a { padding: 0.75em 0.2em; // prevent grid gap misalignment } } /* -------------------- popular pages -------------------- */ .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: .6em; margin: 1em 0 .7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; a { flex: 1; display: block; color: @white; font-weight: bold; text-align: center; text-decoration: none; padding: .7em 1em; } &:hover { filter: brightness(115%); transition: 100ms; } } /* -------------------- discord server -------------------- */ .mainpage-discord { border: none; box-shadow: @box-shadow-dark; .tile-top { display: flex; align-items: center; background: @discord-bg; padding: 1em 1.25em; a { flex: 1; position: relative; // allow link to cover icon text-decoration: none; &:hover .arrow { transform: translateX(50%); } } } .tile-bottom { background: @discord-bg-dark; border: none; padding: 1em 1.25em; p { color: @white; font-weight: bold; font-size: .9em; text-align: center; text-transform: uppercase; letter-spacing: .03em; margin: 0; } } .partner-icon { margin-right: .75em; text-align: center; width: 60px; } .server-name { color: @white; font-weight: bold; font-size: 1.25em; margin: .5em 0 -0.15em; } .server-tagline { color: @mp-text-light; margin-bottom: .5em; } .arrow { position: absolute; top: ~"calc(50% - .5em)"; // center arrow on its point right: 0; height: 1em; width: .7em; background-size: .7em 1em; transition: .3s ease-out; } } /* -------------------- edit the wiki -------------------- */ .mainpage-editing { border: none; box-shadow: @box-shadow-dark; .tile-top { background: @steel-blue; } .tile-bottom { background: saturate( darken( @steel-blue, 4% ), 4% ); border: none; padding: .8rem 1.5rem .4rem; } h2, a { color: @white; } p { color: @mp-text-light; } ul { list-style-image: url('filepath://Transparent-chevron.svg'); } } /* ========================== media queries ========================== */ @media only screen and (max-width: @width-breakpoint-desktop-wide) { // switch to two rows of three tiles .mainpage-contents { grid-template-columns: repeat(3, 1fr) } } @media only screen and (max-width: @width-breakpoint-desktop) { // mainpage-left and -right on one column now .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); .tile-halves { // hide third recent update &:last-child { display: none; } // zoom on hover &:hover .tile-top img { transform: scale(1.04); } } .tile-top { height: 18vw; min-height: 9em; } } // hide other things .mainpage-header .header-stats { display: none; } // kill margin as it duplicates grid's gap .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: @width-breakpoint-tablet) { .mainpage-recent-updates { // resulting in single column grid-template-columns: none; // revert display:none .tile-halves:last-child { display: flex; } } // switch to three rows of two tiles .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } 8566720c350e2a6406d6b80c83c129e4501c72f6 1105 1104 2024-03-23T23:59:58Z Merds 25 less less /* =================== MAIN PAGE =================== */ body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } /* =================== variables =================== */ @mp-text-light: fade( @white, 90% ); @mp-gutter-width: .9rem; /* ========================== page-specific styles ========================== */ body.page-Main_Page { // limit max width for readability // don't use #mw-content-text because it includes the editform .mw-parser-output { max-width: 75em; margin: 0 auto; } // not when editing &.action-view { .catlinks, #contentSub, // hide pagetitle in favor of .mainpage-header // Note: as of mw1.38, this is not needed anymore // blanking both [[MediaWiki:Mainpage-title-loggedin]] & // [[MediaWiki:Mainpage-title]] applies an inline `display: none;` // #firstHeading, // anything listed in the sitenotice should already be on the main page #siteNotice { display: none; } } } /* ==================== general styles ==================== */ .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; .header-intro { flex: 2; h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 .15em; } p { font-size: 1.1em; line-height: 1.7em; } } .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } } // main sections .mainpage-body { display: grid; grid-template-areas: "event event event" // for tbzr tile "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); h2 a { color: var(--text-color); } .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .tile-row { width: 100%; margin-bottom: 0; } } .mainpage-body .tile-row { display: grid; gap: 0.9rem } /* remove this when we get a 6th thing to add on the mainpage "events" */ .mainpage-contents.tile-row { display: flex; .tile-top { height: 6.5rem; } } /* remove until above this line */ // left column .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } // right column .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } /* ==================== components ==================== */ .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: .7rem; width: .45rem; vertical-align: middle; &.dark { filter: invert(80%); } } /* ============================= section-specific styles ============================= */ /* -------------------- wiki contents -------------------- */ @mp-contents-height: 4.5rem; .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); .tile-halves { flex: 1; } .tile-top { height: 4.5rem; position: relative; // needed for ribbon } h2 { margin: 0; padding: 0; } .tile-bottom.link-button a { padding: 0.75em 0.2em; // prevent grid gap misalignment } } /* -------------------- popular pages -------------------- */ .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: .6em; margin: 1em 0 .7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; a { flex: 1; display: block; color: @white; font-weight: bold; text-align: center; text-decoration: none; padding: .7em 1em; } &:hover { filter: brightness(115%); transition: 100ms; } } /* -------------------- discord server -------------------- */ .mainpage-discord { border: none; box-shadow: @box-shadow-dark; .tile-top { display: flex; align-items: center; background: @discord-bg; padding: 1em 1.25em; a { flex: 1; position: relative; // allow link to cover icon text-decoration: none; &:hover .arrow { transform: translateX(50%); } } } .tile-bottom { background: @discord-bg-dark; border: none; padding: 1em 1.25em; p { color: @white; font-weight: bold; font-size: .9em; text-align: center; text-transform: uppercase; letter-spacing: .03em; margin: 0; } } .partner-icon { margin-right: .75em; text-align: center; width: 60px; } .server-name { color: @white; font-weight: bold; font-size: 1.25em; margin: .5em 0 -0.15em; } .server-tagline { color: @mp-text-light; margin-bottom: .5em; } .arrow { position: absolute; top: ~"calc(50% - .5em)"; // center arrow on its point right: 0; height: 1em; width: .7em; background-size: .7em 1em; transition: .3s ease-out; } } /* -------------------- edit the wiki -------------------- */ .mainpage-editing { border: none; box-shadow: @box-shadow-dark; .tile-top { background: @steel-blue; } .tile-bottom { background: saturate( darken( @steel-blue, 4% ), 4% ); border: none; padding: .8rem 1.5rem .4rem; } h2, a { color: @white; } p { color: @mp-text-light; } ul { list-style-image: url('filepath://Transparent-chevron.svg'); } } /* ========================== media queries ========================== */ @media only screen and (max-width: @width-breakpoint-desktop-wide) { // switch to two rows of three tiles .mainpage-contents { grid-template-columns: repeat(3, 1fr) } } @media only screen and (max-width: @width-breakpoint-desktop) { // mainpage-left and -right on one column now .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); .tile-halves { // hide third recent update &:last-child { display: none; } // zoom on hover &:hover .tile-top img { transform: scale(1.04); } } .tile-top { height: 18vw; min-height: 9em; } } // hide other things .mainpage-header .header-stats { display: none; } // kill margin as it duplicates grid's gap .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: @width-breakpoint-tablet) { .mainpage-recent-updates { // resulting in single column grid-template-columns: none; // revert display:none .tile-halves:last-child { display: flex; } } // switch to three rows of two tiles .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } b898b61b08633a7114de4e32fa5444130ccf8011 1110 1105 2024-03-24T00:18:20Z Merds 25 less less /* =================== MAIN PAGE =================== */ body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } /* =================== variables =================== */ @mp-text-light: fade( @white, 90% ); @mp-gutter-width: .9rem; /* ========================== page-specific styles ========================== */ body.page-Main_Page { // limit max width for readability // don't use #mw-content-text because it includes the editform .mw-parser-output { max-width: 75em; margin: 0 auto; } // not when editing &.action-view { .catlinks, #contentSub, // hide pagetitle in favor of .mainpage-header // Note: as of mw1.38, this is not needed anymore // blanking both [[MediaWiki:Mainpage-title-loggedin]] & // [[MediaWiki:Mainpage-title]] applies an inline `display: none;` // #firstHeading, // anything listed in the sitenotice should already be on the main page #siteNotice { display: none; } } } /* ==================== general styles ==================== */ .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; .header-intro { flex: 2; h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 .15em; } p { font-size: 1.1em; line-height: 1.7em; } } .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } } // main sections .mainpage-body { display: grid; grid-template-areas: "event event event" // for tbzr tile "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); h2 a { color: var(--text-color); } .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .tile-row { width: 100%; margin-bottom: 0; } } .mainpage-body .tile-row { display: grid; gap: 0.9rem } /* remove this when we get a 6th thing to add on the mainpage "events" */ .mainpage-contents.tile-row { display: flex; .tile-top { height: 6.5rem; } } /* remove until above this line */ // left column .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } // right column .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } /* ==================== components ==================== */ .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: .7rem; width: .45rem; vertical-align: middle; &.dark { filter: invert(80%); } } /* ============================= section-specific styles ============================= */ /* -------------------- wiki contents -------------------- */ @mp-contents-height: 4.5rem; .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); .tile-halves { flex: 1; } .tile-top { height: 4.5rem; position: relative; // needed for ribbon } h2 { margin: 0; padding: 0; } .tile-bottom.link-button a { padding: 0.75em 0.2em; // prevent grid gap misalignment } } /* -------------------- popular pages -------------------- */ .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: .6em; margin: 1em 0 .7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; a { flex: 1; display: block; color: @white; font-weight: bold; text-align: center; text-decoration: none; padding: .7em 1em; } &:hover { filter: brightness(115%); transition: 100ms; } } /* -------------------- discord server & twitter/X -------------------- */ .mainpage-social { border: none; box-shadow: @box-shadow-dark; .tile-top { display: flex; align-items: center; padding: 1em 1.5em; a { flex: 1; position: relative; text-decoration: none; &:hover .arrow { transform: translateX(50%); } } } .tile-bottom { border: none; padding: 1em 1.75em; p { color: @white; font-weight: bold; font-size: .9em; text-align: center; text-transform: uppercase; letter-spacing: .03em; margin: 0; } } .social-icon { margin-right: .75em; text-align: center; width: 60px; } .social-header { color: @white; font-weight: bold; font-size: 1.15em; margin: .5em 0 -0.15em; } .server-tagline { color: @mp-text-light; margin-bottom: .5em; } .arrow { position: absolute; top: ~"calc(50% - .5em)"; // center arrow on its point right: 0; height: 1em; width: .7em; background-size: .7em 1em; transition: .3s ease-out; } // Discord colors &.mainpage-discord { .tile-top { background: @discord-bg; } .tile-bottom { background: @discord-bg-dark; } } // X (Twitter) colors &.mainpage-twitter { .tile-top { background: rgb(21, 32, 43); } .tile-bottom { background: darken(rgb(21, 32, 43), 1.5%); } } } /* -------------------- edit the wiki -------------------- */ .mainpage-editing { border: none; box-shadow: @box-shadow-dark; .tile-top { background: @steel-blue; } .tile-bottom { background: saturate( darken( @steel-blue, 4% ), 4% ); border: none; padding: .8rem 1.5rem .4rem; } h2, a { color: @white; } p { color: @mp-text-light; } ul { list-style-image: url('filepath://Transparent-chevron.svg'); } } /* ========================== media queries ========================== */ @media only screen and (max-width: @width-breakpoint-desktop-wide) { // switch to two rows of three tiles .mainpage-contents { grid-template-columns: repeat(3, 1fr) } } @media only screen and (max-width: @width-breakpoint-desktop) { // mainpage-left and -right on one column now .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); .tile-halves { // hide third recent update &:last-child { display: none; } // zoom on hover &:hover .tile-top img { transform: scale(1.04); } } .tile-top { height: 18vw; min-height: 9em; } } // hide other things .mainpage-header .header-stats { display: none; } // kill margin as it duplicates grid's gap .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: @width-breakpoint-tablet) { .mainpage-recent-updates { // resulting in single column grid-template-columns: none; // revert display:none .tile-halves:last-child { display: flex; } } // switch to three rows of two tiles .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } 721027d264db0ee10e169fb9f47b2830ef5b388e 1117 1110 2024-03-24T00:58:58Z Merds 25 less less /* =================== MAIN PAGE =================== */ body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } /* =================== variables =================== */ @mp-text-light: fade( @white, 90% ); @mp-gutter-width: .9rem; /* ========================== page-specific styles ========================== */ body.page-Main_Page { // limit max width for readability // don't use #mw-content-text because it includes the editform .mw-parser-output { max-width: 75em; margin: 0 auto; } // not when editing &.action-view { .catlinks, #contentSub, // hide pagetitle in favor of .mainpage-header // Note: as of mw1.38, this is not needed anymore // blanking both [[MediaWiki:Mainpage-title-loggedin]] & // [[MediaWiki:Mainpage-title]] applies an inline `display: none;` // #firstHeading, // anything listed in the sitenotice should already be on the main page #siteNotice { display: none; } } } /* ==================== general styles ==================== */ .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; .header-intro { flex: 2; h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 .15em; } p { font-size: 1.1em; line-height: 1.7em; } } .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } } // main sections .mainpage-body { display: grid; grid-template-areas: "event event event" // for tbzr tile "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); h2 a { color: var(--text-color); } .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .tile-row { width: 100%; margin-bottom: 0; } } .mainpage-body .tile-row { display: grid; gap: 0.9rem } /* remove this when we get a 6th thing to add on the mainpage "events" */ .mainpage-contents.tile-row { display: flex; .tile-top { height: 5.5rem; } } /* remove until above this line */ // left column .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } // right column .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } /* ==================== components ==================== */ .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: .7rem; width: .45rem; vertical-align: middle; &.dark { filter: invert(80%); } } /* ============================= section-specific styles ============================= */ /* -------------------- wiki contents -------------------- */ @mp-contents-height: 4.5rem; .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); .tile-halves { flex: 1; } .tile-top { height: 4.5rem; position: relative; // needed for ribbon &.tile-image img { height: auto; } } h2 { margin: 0; padding: 0; } .tile-bottom.link-button a { padding: 0.75em 0.2em; // prevent grid gap misalignment } } /* -------------------- popular pages -------------------- */ .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: .6em; margin: 1em 0 .7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; a { flex: 1; display: block; color: @white; font-weight: bold; text-align: center; text-decoration: none; padding: .7em 1em; } &:hover { filter: brightness(115%); transition: 100ms; } } /* -------------------- discord server & twitter/X -------------------- */ .mainpage-social { border: none; box-shadow: @box-shadow-dark; .tile-top { display: flex; align-items: center; padding: 1em 1.5em; a { flex: 1; position: relative; text-decoration: none; &:hover .arrow { transform: translateX(50%); } } } .tile-bottom { border: none; padding: 1em 1.75em; p { color: @white; font-weight: bold; font-size: .9em; text-align: center; text-transform: uppercase; letter-spacing: .03em; margin: 0; } } .social-icon { margin-right: .75em; text-align: center; width: 60px; } .social-header { color: @white; font-weight: bold; font-size: 1.15em; margin: .5em 0 -0.15em; } .server-tagline { color: @mp-text-light; margin-bottom: .5em; } .arrow { position: absolute; top: ~"calc(50% - .5em)"; // center arrow on its point right: 0; height: 1em; width: .7em; background-size: .7em 1em; transition: .3s ease-out; } // Discord colors &.mainpage-discord { .tile-top { background: @discord-bg; } .tile-bottom { background: @discord-bg-dark; } } // X (Twitter) colors &.mainpage-twitter { .tile-top { background: rgb(21, 32, 43); } .tile-bottom { background: darken(rgb(21, 32, 43), 1.5%); } } } /* -------------------- edit the wiki -------------------- */ .mainpage-editing { border: none; box-shadow: @box-shadow-dark; .tile-top { background: @steel-blue; } .tile-bottom { background: saturate( darken( @steel-blue, 4% ), 4% ); border: none; padding: .8rem 1.5rem .4rem; } h2, a { color: @white; } p { color: @mp-text-light; } ul { list-style-image: url('filepath://Transparent-chevron.svg'); } } /* ========================== media queries ========================== */ @media only screen and (max-width: @width-breakpoint-desktop-wide) { // switch to two rows of three tiles .mainpage-contents { grid-template-columns: repeat(3, 1fr) } } @media only screen and (max-width: @width-breakpoint-desktop) { // mainpage-left and -right on one column now .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); .tile-halves { // hide third recent update &:last-child { display: none; } // zoom on hover &:hover .tile-top img { transform: scale(1.04); } } .tile-top { height: 18vw; min-height: 9em; } } // hide other things .mainpage-header .header-stats { display: none; } // kill margin as it duplicates grid's gap .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: @width-breakpoint-tablet) { .mainpage-recent-updates { // resulting in single column grid-template-columns: none; // revert display:none .tile-halves:last-child { display: flex; } } // switch to three rows of two tiles .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } 928fe1286f19ad5564483ab57fc8f2565a2bbeb0 1126 1117 2024-03-24T01:36:33Z Merds 25 less less /* =================== MAIN PAGE =================== */ body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } /* =================== variables =================== */ @mp-text-light: fade( @white, 90% ); @mp-gutter-width: .9rem; /* ========================== page-specific styles ========================== */ body.page-Main_Page { // limit max width for readability // don't use #mw-content-text because it includes the editform .mw-parser-output { max-width: 75em; margin: 0 auto; } // not when editing &.action-view { .catlinks, #contentSub, // hide pagetitle in favor of .mainpage-header // Note: as of mw1.38, this is not needed anymore // blanking both [[MediaWiki:Mainpage-title-loggedin]] & // [[MediaWiki:Mainpage-title]] applies an inline `display: none;` // #firstHeading, // anything listed in the sitenotice should already be on the main page #siteNotice { display: none; } } } /* ==================== general styles ==================== */ .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; .header-intro { flex: 2; h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 .15em; } p { font-size: 1.1em; line-height: 1.7em; } } .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } } // main sections .mainpage-body { display: grid; grid-template-areas: "event event event" // for tbzr tile "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); h2 a { color: var(--text-color); } .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .tile-row { width: 100%; margin-bottom: 0; } } .mainpage-body .tile-row { display: grid; gap: 0.9rem } /* remove this when we get a 6th thing to add on the mainpage "events" */ .mainpage-contents.tile-row { display: flex; .tile-top { height: 5.5rem; } } /* remove until above this line */ // left column .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } // right column .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; > * { margin: 0 0 @mp-gutter-width; } } /* ==================== components ==================== */ .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: .7rem; width: .45rem; vertical-align: middle; &.dark { filter: invert(80%); } } /* ============================= section-specific styles ============================= */ /* -------------------- wiki contents -------------------- */ @mp-contents-height: 4.5rem; .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); .tile-halves { flex: 1; } .tile-top { height: 4.5rem; position: relative; // needed for ribbon &.tile-image img { height: auto; } } h2 { margin: 0; padding: 0; } .tile-bottom.link-button a { padding: 0.75em 0.2em; // prevent grid gap misalignment } } /* -------------------- popular pages -------------------- */ .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: .6em; margin: 1em 0 .7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; a { flex: 1; display: block; color: @white; font-weight: bold; text-align: center; text-decoration: none; padding: .7em 1em; } &:hover { filter: brightness(115%); transition: 100ms; } } /* -------------------- discord server & twitter/X -------------------- */ .mainpage-social { border: none; box-shadow: @box-shadow-dark; .tile-top { display: flex; align-items: center; padding: 1em 1.5em; a { flex: 1; position: relative; text-decoration: none; &:hover .arrow { transform: translateX(50%); } } } .tile-bottom { border: none; padding: 1em 1.75em; p { color: @white; font-weight: bold; font-size: .9em; text-align: center; text-transform: uppercase; letter-spacing: .03em; margin: 0; } } .social-icon { margin-right: .75em; text-align: center; width: 60px; } .social-header { color: @white; font-weight: bold; font-size: 1.15em; margin: .5em 0 -0.15em; } .server-tagline { color: @mp-text-light; margin-bottom: .5em; } .arrow { position: absolute; top: ~"calc(50% - .5em)"; // center arrow on its point right: 0; height: 1em; width: .7em; background-size: .7em 1em; transition: .3s ease-out; } // Discord colors &.mainpage-discord { .tile-top { background: @discord-bg; } .tile-bottom { background: @discord-bg-dark; } } // X (Twitter) colors &.mainpage-twitter { .tile-top { background: @twitter-bg; } .tile-bottom { background: @twitter-bg-dark; } } } /* -------------------- edit the wiki -------------------- */ .mainpage-editing { border: none; box-shadow: @box-shadow-dark; .tile-top { background: @steel-blue; } .tile-bottom { background: saturate( darken( @steel-blue, 4% ), 4% ); border: none; padding: .8rem 1.5rem .4rem; } h2, a { color: @white; } p { color: @mp-text-light; } ul { list-style-image: url('filepath://Transparent-chevron.svg'); } } /* ========================== media queries ========================== */ @media only screen and (max-width: @width-breakpoint-desktop-wide) { // switch to two rows of three tiles .mainpage-contents { grid-template-columns: repeat(3, 1fr) } } @media only screen and (max-width: @width-breakpoint-desktop) { // mainpage-left and -right on one column now .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); .tile-halves { // hide third recent update &:last-child { display: none; } // zoom on hover &:hover .tile-top img { transform: scale(1.04); } } .tile-top { height: 18vw; min-height: 9em; } } // hide other things .mainpage-header .header-stats { display: none; } // kill margin as it duplicates grid's gap .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: @width-breakpoint-tablet) { .mainpage-recent-updates { // resulting in single column grid-template-columns: none; // revert display:none .tile-halves:last-child { display: flex; } } // switch to three rows of two tiles .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } 637df85a856ad12f945f2cc12b3edf37f9aff91b MediaWiki:Common.less/variables.less 8 12 1112 19 2024-03-24T00:34:39Z Merds 25 less less /* ====================== THEME VARIABLES ====================== */ // colors are sorted from darkest to lightest // See <https://davidwalsh.name/sass-color-variables-dont-suck> for naming system // Don't change any of this unless you know what you're doing /* ------------------ brand colors ------------------ */ // blues @chathams-blue: #115883; @jelly-bean: #246c97; @steel-blue: #438ab5; @fountain-blue: #6ba5c8; @spindle: #c1deee; @selago: #f6fbfe; @nav-blue: #d8e5ff; // gray-blues @grey-gray: #ddd; @river-bed: #444e5a; @shuttle-gray: #5d6773; @gray-chateau: #949eaa; @loblolly: #bdc5cd; @mystic: #e4eaee; @black-haze: #f9fafa; // grays @mineshaft: #333; @tundora: #4c4c4c; @boulder: #777; @silver: #ccc; @gallery: #eee; @alabaster: #f9f9f9; // dark mode @black-pearl: #071022; @big-stone: #172136; @cloud-burst: #222e45; @pickled-bluewood: #313e59; @waikawa-grey: #596e96; @portage: #8cabe6; // BROWN dark mode @ebony-brown: #1b1612; @mocha-brown: #28221d; @cacao-brown: #312a25; @sable-brown: #3e362f; @driftwood-brown: #5e5248; @taupe-brown: #736559; @kharid-sand: #b79d7e; @slate-grey: #98a2b6; @ivory-white: #f4eaea; // brighter shore colors @mine-shaft: #2F2828; /* ------------------- other brands ------------------- */ // Discord @discord-bg: #5865f2; @discord-bg-dark: #525ee0; @discord-bg-darker: #4c57d0; /* ------------------- status colors ------------------- */ // reds @mocaccino: #801c13; @old-brick: #9f261e; @flamingo: #ee4231; @apricot-peach: #fbc0ba; @bridesmaid: #feecea; // oranges @antique-bronze: #7a3f08; @korma: #b55e0c; @ecstasy: #f7861b; @corvette: #fbcfa6; @lace: #fef0e4; // yellows @cinnamon: #786300; @olive: #a48900; @supernova: #f9d000; @golden: #fcea94; @half-dutch: #fef9de; // greens @san-felix: #2e5e05; @la-palma: #3c780a; @lima: #6bc71f; @caper: #c3e8a3; @frost: #ecf8e3; // blues @regal-blue: #03436b; @venice-blue: #0b5884; @curious-blue: #3ea6e6; @jordy-blue: #aad9f5; @tropical-blue: #e5f3fc; // purples @honey-flower: #3d276b; @seance: #4f348b; @medium-purple: #855cd8; @perfume: #cfc0f0; @heliotrope: #f0ecfa; // pinks @cosmic: #6d3662; @cannon-pink: #984c89; @lavender: #e874cf; @cherub: #f5c8ec; @french-lilac: #fceef9; // other @black: #000; @white: #fff; /* ---------------- shadows ---------------- */ @box-shadow: 0 .25rem .35rem -0.25rem rgba(0,0,0,.1); @box-shadow-dark: 0 .25rem .35rem -0.25rem rgba(0,0,0,.3); /* --------------------- border-radius --------------------- */ // from wmui: // <https://github.com/wikimedia/wikimedia-ui-base/blob/master/wikimedia-ui-base.less> @border-radius: 2px; @border-radius-circle: 50%; @border-radius-round: 9999px; /* --------------------- breakpoints --------------------- */ // also from wmui // mobile @width-breakpoint-mobile: 320px; // tablet @width-breakpoint-tablet: 720px; // desktop @width-breakpoint-desktop: 1000px; // Wider desktop @width-breakpoint-desktop-wide: 1200px; @width-breakpoint-desktop-extrawide: 2000px; /* ------------------------ easing curves <https://easings.net> ------------------------ */ @ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94); @ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1); /* ----------------- typefaces ----------------- */ // imported in [[MediaWiki:Common.less/fonts.less]] @serif-stack: 'Lora', 'Palatino', 'Georgia', serif; @sans-serif-stack: 'Helvetica Neue', 'Arial', sans-serif; @BODY_MAIN: var(--body-main); @BODY_LIGHT: var(--body-light); @BODY_MID: var(--body-mid); @BODY_DARK: var(--body-dark); @BODY_BORDER: var(--body-border); @BUTTON_BORDER: var(--button-border); @BUTTON_DARK: var(--button-dark); @BUTTON_LIGHT: var(--button-light); @SIDEBAR: var(--sidebar); @SEARCH_BOX: var(--search-box); @LINK_COLOR: var(--link-color); @REDLINK_COLOR: var(--redlink-color); @TEXT_COLOR: var(--text-color); @infobox-background: @BODY_LIGHT; @infobox-header-color: @BODY_DARK; @infobox-border-color: @BODY_BORDER; @infobox-subheader-color: @BODY_DARK; 5b368b6a2bb553ba65ea8772245f90071d518d37 1127 1112 2024-03-24T01:36:44Z Merds 25 less less /* ====================== THEME VARIABLES ====================== */ // colors are sorted from darkest to lightest // See <https://davidwalsh.name/sass-color-variables-dont-suck> for naming system // Don't change any of this unless you know what you're doing /* ------------------ brand colors ------------------ */ // blues @chathams-blue: #115883; @jelly-bean: #246c97; @steel-blue: #438ab5; @fountain-blue: #6ba5c8; @spindle: #c1deee; @selago: #f6fbfe; @nav-blue: #d8e5ff; // gray-blues @grey-gray: #ddd; @river-bed: #444e5a; @shuttle-gray: #5d6773; @gray-chateau: #949eaa; @loblolly: #bdc5cd; @mystic: #e4eaee; @black-haze: #f9fafa; // grays @mineshaft: #333; @tundora: #4c4c4c; @boulder: #777; @silver: #ccc; @gallery: #eee; @alabaster: #f9f9f9; // dark mode @black-pearl: #071022; @big-stone: #172136; @cloud-burst: #222e45; @pickled-bluewood: #313e59; @waikawa-grey: #596e96; @portage: #8cabe6; // BROWN dark mode @ebony-brown: #1b1612; @mocha-brown: #28221d; @cacao-brown: #312a25; @sable-brown: #3e362f; @driftwood-brown: #5e5248; @taupe-brown: #736559; @kharid-sand: #b79d7e; @slate-grey: #98a2b6; @ivory-white: #f4eaea; // brighter shore colors @mine-shaft: #2F2828; /* ------------------- other brands ------------------- */ // Discord @discord-bg: #5865f2; @discord-bg-dark: #525ee0; @discord-bg-darker: #4c57d0; // Twitter @twitter-bg: rgb(21, 32, 43); @twitter-bg-dark: darken(rgb(21, 32, 43), 1.5%); /* ------------------- status colors ------------------- */ // reds @mocaccino: #801c13; @old-brick: #9f261e; @flamingo: #ee4231; @apricot-peach: #fbc0ba; @bridesmaid: #feecea; // oranges @antique-bronze: #7a3f08; @korma: #b55e0c; @ecstasy: #f7861b; @corvette: #fbcfa6; @lace: #fef0e4; // yellows @cinnamon: #786300; @olive: #a48900; @supernova: #f9d000; @golden: #fcea94; @half-dutch: #fef9de; // greens @san-felix: #2e5e05; @la-palma: #3c780a; @lima: #6bc71f; @caper: #c3e8a3; @frost: #ecf8e3; // blues @regal-blue: #03436b; @venice-blue: #0b5884; @curious-blue: #3ea6e6; @jordy-blue: #aad9f5; @tropical-blue: #e5f3fc; // purples @honey-flower: #3d276b; @seance: #4f348b; @medium-purple: #855cd8; @perfume: #cfc0f0; @heliotrope: #f0ecfa; // pinks @cosmic: #6d3662; @cannon-pink: #984c89; @lavender: #e874cf; @cherub: #f5c8ec; @french-lilac: #fceef9; // other @black: #000; @white: #fff; /* ---------------- shadows ---------------- */ @box-shadow: 0 .25rem .35rem -0.25rem rgba(0,0,0,.1); @box-shadow-dark: 0 .25rem .35rem -0.25rem rgba(0,0,0,.3); /* --------------------- border-radius --------------------- */ // from wmui: // <https://github.com/wikimedia/wikimedia-ui-base/blob/master/wikimedia-ui-base.less> @border-radius: 2px; @border-radius-circle: 50%; @border-radius-round: 9999px; /* --------------------- breakpoints --------------------- */ // also from wmui // mobile @width-breakpoint-mobile: 320px; // tablet @width-breakpoint-tablet: 720px; // desktop @width-breakpoint-desktop: 1000px; // Wider desktop @width-breakpoint-desktop-wide: 1200px; @width-breakpoint-desktop-extrawide: 2000px; /* ------------------------ easing curves <https://easings.net> ------------------------ */ @ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94); @ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1); /* ----------------- typefaces ----------------- */ // imported in [[MediaWiki:Common.less/fonts.less]] @serif-stack: 'Lora', 'Palatino', 'Georgia', serif; @sans-serif-stack: 'Helvetica Neue', 'Arial', sans-serif; @BODY_MAIN: var(--body-main); @BODY_LIGHT: var(--body-light); @BODY_MID: var(--body-mid); @BODY_DARK: var(--body-dark); @BODY_BORDER: var(--body-border); @BUTTON_BORDER: var(--button-border); @BUTTON_DARK: var(--button-dark); @BUTTON_LIGHT: var(--button-light); @SIDEBAR: var(--sidebar); @SEARCH_BOX: var(--search-box); @LINK_COLOR: var(--link-color); @REDLINK_COLOR: var(--redlink-color); @TEXT_COLOR: var(--text-color); @infobox-background: @BODY_LIGHT; @infobox-header-color: @BODY_DARK; @infobox-border-color: @BODY_BORDER; @infobox-subheader-color: @BODY_DARK; dcc101adea85300f14959bdd47f138fab11d16a7 MediaWiki:Common.less 8 5 1113 810 2024-03-24T00:35:19Z Merds 25 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #000; --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; /*@mine-shaft*/ --byline-color: @silver; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/documentation.less'; // [[Template:Documentation]] @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> @import '@{common}/messagebox.less'; // Messagebox templates // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 9412be70a18fc578b51ef319fe8e1cc07a44b275 1115 1113 2024-03-24T00:51:35Z Merds 25 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #feffff; --body-light: #f2f2f2; --body-mid: #d0bd97; --body-dark: #e3e3e3; --body-border: #878787; --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; /*@mine-shaft*/ --byline-color: @silver; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/documentation.less'; // [[Template:Documentation]] @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> @import '@{common}/messagebox.less'; // Messagebox templates // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 793f2999d26ef335f3178e7a9379816819e100df Professions 0 56 1119 974 2024-03-24T01:00:13Z Merds 25 /* Gallery */ wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. Most professions can either be trained by the player actively playing the game, or passively while the game is closed. As the player progresses through the game, more professions will become available for the player to learn. Players aren't limited to once profession at a time; they can utilise multiple at once.{{CiteGeneral|url=https://www.gamesradar.com/runescape-creator-answers-our-biggest-questions-about-his-new-mmo-brighter-shores-classes-professions-monetization-and-a-ttrpg-open-world/|title=RuneScape creator answers our biggest questions about his new MMO Brighter Shores: classes, professions, monetization, and a TTRPG open world|author=Austin Wood|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/AxMwI|archivedate=23 March 2024|name=griv}} ==Passive training== Unlike other similar MMOs, players can continue to perform certain profession-related activities while logged out of the game. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery mode="packed" heights="160"> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> ==References== {{Reflist}} {{Professions}} {{Mechanics}} 1810b84e7034b667d82a055a067aacda39d0fe86 User:Merds/Sandbox 2 652 1120 2024-03-24T01:08:51Z Merds 25 wip wikitext text/x-wiki This page contains information about the '''look of the Brighter Shores Wiki'''. ==Colours== <div class="color-container"> <div class="color-column"> <h3>Body</h3> <div class="color-group dark" style="background: #94866d;"> <p class="variable">--body-border</p> <p class="hexcode">#94866d</p> </div> <div class="color-group" style="background: #b8a282;"> <p class="variable">--body-dark</p> <p class="hexcode">#b8a282</p> </div> <div class="color-group" style="background: #d0bd97;"> <p class="variable">--body-mid</p> <p class="hexcode">#d0bd97</p> </div> <div class="color-group" style="background: #d8ccb4;"> <p class="variable">--body-light</p> <p class="hexcode">#d8ccb4</p> </div> <div class="color-group" style="background: #e2dbc8;"> <p class="variable">--body-main</p> <p class="hexcode">#e2dbc8</p> </div> <div class="color-group" style="background: #c0a886;"> <p class="variable">--body-background-color</p> <p class="hexcode">#c0a886</p> </div> </div> 349f44ca660e4c2a853033aa584e7ca39750b690 MediaWiki:Common.less/interface.less 8 16 1121 25 2024-03-24T01:28:06Z Merds 25 less less /* ===================== Common MediaWiki elements inside .mw-body ===================== */ :root { --errorbox-bg: @bridesmaid; --errorbox-border: @flamingo; --warningbox-bg: @half-dutch; --warningbox-border: @supernova; --successbox-bg: @frost; --successbox-border: @lima; } // core mw messagebox .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, // anon talk page message alert .usermessage { box-shadow: @box-shadow; } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: @box-shadow; li { border-color: var(--body-mid); } } // checkered background in file pages .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } // Prevents undesired background showing when next to expanded toc .mw-highlight { background: none; .linenos { background-color: var(--mw-code-background-color); // line number color: var(--byline-color); } // line number hover a:hover .linenos, .hll a .linenos { color: var(--text-color); } } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } // page history #pagehistory { ul { list-style: none; margin: 0; } li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; &.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } } } // Sticky compare rev #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid @BODY_DARK; padding: .25em 0; .wgl-stickyheader & { top: 2.5rem; // = height of stickyheader } } // auto section edit summaries .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } // revdeleted logs: "(log details removed)" li span.deleted, span.history-deleted { color: var(--byline-color); } // redlinked contribs page for users without edits .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } /* -------------------------------------- fix section heading being hidden underneath sticky header -------------------------------------- */ // technique from <https://css-tricks.com/hash-tag-links-padding/> body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } /* ------------------------ MultimediaViewer ------------------------*/ // main lightbox .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } // metadata panel .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } // download box and etc .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } // activation box header .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } // use consistent text color for all for simplicity .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, // activation box .mw-mmv-options-enable-alert, // deactivation box .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } /* ------------------------ RevisionSlider ------------------------*/ .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } /* ------------------------ mediawiki.ui ------------------------*/ .mw-ui { &-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); &:not(:disabled) { &:hover, &:active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent),inset 0 0 0 2px #fff; } // there's an override for it &:visited { color: var(--ooui-text); } } &.mw-ui-progressive { &:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); &:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent),inset 0 0 0 2px #fff; } &:active, &.is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } } } } // a lot of these need to be redefined since they have the same specificity // as the above &-button&-destructive:not( :disabled ) { color: #fff; } &-button&-quiet, &-button&-quiet&-progressive, &-button&-quiet&-destructive { // background-color: transparent; color: var(--text-color); } input[type='checkbox']:hover + &-button&-quiet, input[type='checkbox']:hover + &-button&-quiet&-progressive, input[type='checkbox']:hover + &-button&-quiet&-destructive, &-button&-quiet:hover, &-button&-quiet&-progressive:hover, &-button&-quiet&-destructive:hover { background-color: rgba(0,24,73,0.02745098); color: var(--text-color); border-color: transparent } input[type='checkbox']:focus + &-button&-quiet, input[type='checkbox']:focus + &-button&-quiet&-progressive, input[type='checkbox']:focus + &-button&-quiet&-destructive, &-button&-quiet:focus, &-button&-quiet&-progressive:focus, &-button&-quiet&-destructive:focus { color: var(--text-color); // border-color: #36c; // box-shadow: inset 0 0 0 1px #36c,inset 0 0 0 2px #fff } input[type='checkbox']:active + &-button&-quiet, input[type='checkbox']:active + &-button&-quiet&-progressive, input[type='checkbox']:active + &-button&-quiet&-destructive, &-button&-quiet:active, &-button&-quiet&-progressive:active, &-button&-quiet&-destructive:active { background-color: rgba(0,36,73,0.08235294); color: var(--text-color); border-color: #72777d; // box-shadow: none } &-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); &:hover { border-color: var(--ooui-input-border--hover); } &::placeholder { color: var(--byline-color); } } } /* ------------------------ Redirects ------------------------*/ // convert to mask .mw-content-ltr .redirectText li { &:first-child { padding: 0; background: 0; &::before { content:''; background: currentcolor; .mask("filepath://Redirect-arrow.svg"); display: inline-block; width: 47px; height: 20px; } } } /* ------------------------------------------------------------- HEADER bits because I'm not sure where I can put this ------------------------------------------------------------ */ /* Search bar .vector-search-box-inner { background: var(--body-main); box-shadow: inset 0 -7px 7px -7px rgba(0,0,0,0.15); } /* "More" button .vector-menu-dropdown { .vector-menu-heading { color: #937040; &:hover { color: #937040; } &:focus { color: #937040; } } } 877b1aee0f1faca27078ea956a4947c0ac4ce69e 1122 1121 2024-03-24T01:28:32Z Merds 25 less less /* ===================== Common MediaWiki elements inside .mw-body ===================== */ :root { --errorbox-bg: @bridesmaid; --errorbox-border: @flamingo; --warningbox-bg: @half-dutch; --warningbox-border: @supernova; --successbox-bg: @frost; --successbox-border: @lima; } // core mw messagebox .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, // anon talk page message alert .usermessage { box-shadow: @box-shadow; } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: @box-shadow; li { border-color: var(--body-mid); } } // checkered background in file pages .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } // Prevents undesired background showing when next to expanded toc .mw-highlight { background: none; .linenos { background-color: var(--mw-code-background-color); // line number color: var(--byline-color); } // line number hover a:hover .linenos, .hll a .linenos { color: var(--text-color); } } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } // page history #pagehistory { ul { list-style: none; margin: 0; } li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; &.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } } } // Sticky compare rev #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid @BODY_DARK; padding: .25em 0; .wgl-stickyheader & { top: 2.5rem; // = height of stickyheader } } // auto section edit summaries .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } // revdeleted logs: "(log details removed)" li span.deleted, span.history-deleted { color: var(--byline-color); } // redlinked contribs page for users without edits .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } /* -------------------------------------- fix section heading being hidden underneath sticky header -------------------------------------- */ // technique from <https://css-tricks.com/hash-tag-links-padding/> body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } /* ------------------------ MultimediaViewer ------------------------*/ // main lightbox .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } // metadata panel .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } // download box and etc .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } // activation box header .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } // use consistent text color for all for simplicity .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, // activation box .mw-mmv-options-enable-alert, // deactivation box .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } /* ------------------------ RevisionSlider ------------------------*/ .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } /* ------------------------ mediawiki.ui ------------------------*/ .mw-ui { &-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); &:not(:disabled) { &:hover, &:active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent),inset 0 0 0 2px #fff; } // there's an override for it &:visited { color: var(--ooui-text); } } &.mw-ui-progressive { &:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); &:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent),inset 0 0 0 2px #fff; } &:active, &.is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } } } } // a lot of these need to be redefined since they have the same specificity // as the above &-button&-destructive:not( :disabled ) { color: #fff; } &-button&-quiet, &-button&-quiet&-progressive, &-button&-quiet&-destructive { // background-color: transparent; color: var(--text-color); } input[type='checkbox']:hover + &-button&-quiet, input[type='checkbox']:hover + &-button&-quiet&-progressive, input[type='checkbox']:hover + &-button&-quiet&-destructive, &-button&-quiet:hover, &-button&-quiet&-progressive:hover, &-button&-quiet&-destructive:hover { background-color: rgba(0,24,73,0.02745098); color: var(--text-color); border-color: transparent } input[type='checkbox']:focus + &-button&-quiet, input[type='checkbox']:focus + &-button&-quiet&-progressive, input[type='checkbox']:focus + &-button&-quiet&-destructive, &-button&-quiet:focus, &-button&-quiet&-progressive:focus, &-button&-quiet&-destructive:focus { color: var(--text-color); // border-color: #36c; // box-shadow: inset 0 0 0 1px #36c,inset 0 0 0 2px #fff } input[type='checkbox']:active + &-button&-quiet, input[type='checkbox']:active + &-button&-quiet&-progressive, input[type='checkbox']:active + &-button&-quiet&-destructive, &-button&-quiet:active, &-button&-quiet&-progressive:active, &-button&-quiet&-destructive:active { background-color: rgba(0,36,73,0.08235294); color: var(--text-color); border-color: #72777d; // box-shadow: none } &-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); &:hover { border-color: var(--ooui-input-border--hover); } &::placeholder { color: var(--byline-color); } } } /* ------------------------ Redirects ------------------------*/ // convert to mask .mw-content-ltr .redirectText li { &:first-child { padding: 0; background: 0; &::before { content:''; background: currentcolor; .mask("filepath://Redirect-arrow.svg"); display: inline-block; width: 47px; height: 20px; } } } /* ------------------------------------------------------------- HEADER bits because I'm not sure where I can put this ------------------------------------------------------------ */ /* Search bar */ .vector-search-box-inner { background: var(--body-main); box-shadow: inset 0 -7px 7px -7px rgba(0,0,0,0.15); } /* "More" button */ .vector-menu-dropdown { .vector-menu-heading { color: #937040; &:hover { color: #937040; } &:focus { color: #937040; } } } 925eac044e7ed52db9e5df19cc2298e8dd7e53cc 1124 1122 2024-03-24T01:30:02Z Merds 25 less less /* ===================== Common MediaWiki elements inside .mw-body ===================== */ :root { --errorbox-bg: @bridesmaid; --errorbox-border: @flamingo; --warningbox-bg: @half-dutch; --warningbox-border: @supernova; --successbox-bg: @frost; --successbox-border: @lima; } // core mw messagebox .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, // anon talk page message alert .usermessage { box-shadow: @box-shadow; } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: @box-shadow; li { border-color: var(--body-mid); } } // checkered background in file pages .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } // Prevents undesired background showing when next to expanded toc .mw-highlight { background: none; .linenos { background-color: var(--mw-code-background-color); // line number color: var(--byline-color); } // line number hover a:hover .linenos, .hll a .linenos { color: var(--text-color); } } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } // page history #pagehistory { ul { list-style: none; margin: 0; } li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; &.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } } } // Sticky compare rev #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid @BODY_DARK; padding: .25em 0; .wgl-stickyheader & { top: 2.5rem; // = height of stickyheader } } // auto section edit summaries .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } // revdeleted logs: "(log details removed)" li span.deleted, span.history-deleted { color: var(--byline-color); } // redlinked contribs page for users without edits .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } /* -------------------------------------- fix section heading being hidden underneath sticky header -------------------------------------- */ // technique from <https://css-tricks.com/hash-tag-links-padding/> body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } /* ------------------------ MultimediaViewer ------------------------*/ // main lightbox .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } // metadata panel .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } // download box and etc .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } // activation box header .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } // use consistent text color for all for simplicity .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, // activation box .mw-mmv-options-enable-alert, // deactivation box .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } /* ------------------------ RevisionSlider ------------------------*/ .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } /* ------------------------ mediawiki.ui ------------------------*/ .mw-ui { &-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); &:not(:disabled) { &:hover, &:active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent),inset 0 0 0 2px #fff; } // there's an override for it &:visited { color: var(--ooui-text); } } &.mw-ui-progressive { &:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); &:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent),inset 0 0 0 2px #fff; } &:active, &.is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } } } } // a lot of these need to be redefined since they have the same specificity // as the above &-button&-destructive:not( :disabled ) { color: #fff; } &-button&-quiet, &-button&-quiet&-progressive, &-button&-quiet&-destructive { // background-color: transparent; color: var(--text-color); } input[type='checkbox']:hover + &-button&-quiet, input[type='checkbox']:hover + &-button&-quiet&-progressive, input[type='checkbox']:hover + &-button&-quiet&-destructive, &-button&-quiet:hover, &-button&-quiet&-progressive:hover, &-button&-quiet&-destructive:hover { background-color: rgba(0,24,73,0.02745098); color: var(--text-color); border-color: transparent } input[type='checkbox']:focus + &-button&-quiet, input[type='checkbox']:focus + &-button&-quiet&-progressive, input[type='checkbox']:focus + &-button&-quiet&-destructive, &-button&-quiet:focus, &-button&-quiet&-progressive:focus, &-button&-quiet&-destructive:focus { color: var(--text-color); // border-color: #36c; // box-shadow: inset 0 0 0 1px #36c,inset 0 0 0 2px #fff } input[type='checkbox']:active + &-button&-quiet, input[type='checkbox']:active + &-button&-quiet&-progressive, input[type='checkbox']:active + &-button&-quiet&-destructive, &-button&-quiet:active, &-button&-quiet&-progressive:active, &-button&-quiet&-destructive:active { background-color: rgba(0,36,73,0.08235294); color: var(--text-color); border-color: #72777d; // box-shadow: none } &-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); &:hover { border-color: var(--ooui-input-border--hover); } &::placeholder { color: var(--byline-color); } } } /* ------------------------ Redirects ------------------------*/ // convert to mask .mw-content-ltr .redirectText li { &:first-child { padding: 0; background: 0; &::before { content:''; background: currentcolor; .mask("filepath://Redirect-arrow.svg"); display: inline-block; width: 47px; height: 20px; } } } /* ------------------------------------------------------------- HEADER bits because I'm not sure where I can put this ------------------------------------------------------------ */ /* Search bar */ .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0,0,0,0.15) !important; } /* "More" button */ .vector-menu-dropdown { .vector-menu-heading { color: #937040 !important; &:hover { color: #937040 !important; } &:focus { color: #937040 !important; } } } 17669e3efd89233d1cab498dccb2ffdf4e6a4044 MediaWiki:Minerva.less/mainpage.less 8 421 1128 676 2024-03-24T01:39:47Z Merds 25 less less /* =================== MAIN PAGE =================== */ // preview the mobile main page at <https://brightershoreswiki.org/?useformat=mobile> /* =================== mixins =================== */ .uppercase-heading(@text-color: var(--byline-color)) { color: @text-color; font-weight: bold; text-transform: uppercase; letter-spacing: .025em; } @keyframes slide-up { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } } /* ==================== general styles ==================== */ .mainpage-header { margin: 2em 1em 0; // reduce margins .header-intro { @media only screen and (max-width: @width-breakpoint-desktop) { h1 { text-align: center; font-size: 1.8em; } p { font-size: 1em; // reset from 1.1m } } } } .mainpage-body { .tile-row { // common does width: 100% width: inherit; } } .mainpage-left { .tile { padding: 2.5em 1.75em 2em; h2 { padding: 0; margin: .65em .5em; } } .tile-halves { h2 { padding: 0; margin: .65em .5em; } } } /* ============================= section-specific styles ============================= */ /* -------------------- recent updates -------------------- */ .mainpage-recent-updates { padding: 1.5em 1em 2.5em; &::before { content: 'Recent updates'; display: block; margin-left: 1.5em; .uppercase-heading(); grid-column: ~"1 / 4"; } .tile-halves { display: inline-block; width: 100%; white-space: initial; flex: unset; &:nth-child(1) { animation: .9s .2s both slide-up; } &:nth-child(2) { animation: .9s .4s both slide-up; } &:nth-child(3) { animation: .9s .6s both slide-up; } } .tile-top { height: 9em; overflow: hidden; } .tile-bottom { padding-bottom: .5rem; } .byline { margin: 0; & + h2 { margin: .025em 0 0; padding: 0; } } // center recent updates for smaller widths @media only screen and (max-width: @width-breakpoint-tablet) { &::before { text-align: center; margin: 0; grid-column: auto; } } } /* -------------------- wiki contents -------------------- */ .mainpage-contents { background: var(--body-mid); padding: 55px 1em 2em 2.5em; overflow-x: auto; grid-template-columns: repeat(6, 1fr) !important; // shouldnt break into two position: relative; scroll-snap-align: center; &::before { content: 'Explore'; margin: 1em; position: absolute; top: 0; .uppercase-heading(@text-color: inherit); grid-column: ~"1 / 6"; } .tile-halves { border: none; background: none; box-shadow: none; width: 200px; } .tile-top { padding: 0; height: initial; } .tile-bottom { border: none; } h2 { width: 100%; } } /* -------------------- skills -------------------- */ .mainpage-skills .tile-top ul { @media only screen and (max-width: @width-breakpoint-desktop) { margin: 0; } } /* -------------------- wiki news -------------------- */ .mainpage-wikinews { &::before { content: 'From the wiki'; margin-left: .75em; .uppercase-heading(); } } /* -------------------- social -------------------- */ .mainpage-social { border: none; margin-bottom: 0; .tile-top { display: flex; align-items: center; justify-content: center; padding: 1em 2em; height: 70px; // not in em because the server icon is a fixed size .social-icon { float: left; margin: 0 1em 0 -1em; width: 60px; text-align: center; } .social-header { color: @white; font-weight: bold; font-size: 1.25em; margin: 0; } .social-tagline { color: @mp-text-light; margin: 0; } } .tile-bottom { border: none; padding: 1em 2em; p { .uppercase-heading(); color: @white; font-size: .9em; text-align: center; margin: 0; } } // Discord colors &.mainpage-discord { .tile-top { background: @discord-bg; } .tile-bottom { background: @discord-bg-dark; } } // X (Twitter) colors &.mainpage-twitter { .tile-top { background: @twitter-bg; } .tile-bottom { background: @twitter-bg-dark; } } } 6e6aeb9af480fd103100d3a04336c453e6b49820 1129 1128 2024-03-24T01:43:03Z Merds 25 less less /* =================== MAIN PAGE =================== */ // preview the mobile main page at <https://brightershoreswiki.org/?useformat=mobile> /* =================== variables =================== */ @mp-text-light: fade( @white, 90% ); @mp-gutter-width: .9rem; /* =================== mixins =================== */ .uppercase-heading(@text-color: var(--byline-color)) { color: @text-color; font-weight: bold; text-transform: uppercase; letter-spacing: .025em; } @keyframes slide-up { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } } /* ==================== general styles ==================== */ .mainpage-header { margin: 2em 1em 0; // reduce margins .header-intro { @media only screen and (max-width: @width-breakpoint-desktop) { h1 { text-align: center; font-size: 1.8em; } p { font-size: 1em; // reset from 1.1m } } } } .mainpage-body { .tile-row { // common does width: 100% width: inherit; } } .mainpage-left { .tile { padding: 2.5em 1.75em 2em; h2 { padding: 0; margin: .65em .5em; } } .tile-halves { h2 { padding: 0; margin: .65em .5em; } } } /* ============================= section-specific styles ============================= */ /* -------------------- recent updates -------------------- */ .mainpage-recent-updates { padding: 1.5em 1em 2.5em; &::before { content: 'Recent updates'; display: block; margin-left: 1.5em; .uppercase-heading(); grid-column: ~"1 / 4"; } .tile-halves { display: inline-block; width: 100%; white-space: initial; flex: unset; &:nth-child(1) { animation: .9s .2s both slide-up; } &:nth-child(2) { animation: .9s .4s both slide-up; } &:nth-child(3) { animation: .9s .6s both slide-up; } } .tile-top { height: 9em; overflow: hidden; } .tile-bottom { padding-bottom: .5rem; } .byline { margin: 0; & + h2 { margin: .025em 0 0; padding: 0; } } // center recent updates for smaller widths @media only screen and (max-width: @width-breakpoint-tablet) { &::before { text-align: center; margin: 0; grid-column: auto; } } } /* -------------------- wiki contents -------------------- */ .mainpage-contents { background: var(--body-mid); padding: 55px 1em 2em 2.5em; overflow-x: auto; grid-template-columns: repeat(6, 1fr) !important; // shouldnt break into two position: relative; scroll-snap-align: center; &::before { content: 'Explore'; margin: 1em; position: absolute; top: 0; .uppercase-heading(@text-color: inherit); grid-column: ~"1 / 6"; } .tile-halves { border: none; background: none; box-shadow: none; width: 200px; } .tile-top { padding: 0; height: initial; } .tile-bottom { border: none; } h2 { width: 100%; } } /* -------------------- skills -------------------- */ .mainpage-skills .tile-top ul { @media only screen and (max-width: @width-breakpoint-desktop) { margin: 0; } } /* -------------------- wiki news -------------------- */ .mainpage-wikinews { &::before { content: 'From the wiki'; margin-left: .75em; .uppercase-heading(); } } /* -------------------- social -------------------- */ .mainpage-social { border: none; margin-bottom: 0; .tile-top { display: flex; align-items: center; justify-content: center; padding: 1em 2em; height: 70px; // not in em because the server icon is a fixed size .social-icon { float: left; margin: 0 1em 0 -1em; width: 60px; text-align: center; } .social-header { color: @white; font-weight: bold; font-size: 1.25em; margin: 0; } .social-tagline { color: @mp-text-light; margin: 0; } } .tile-bottom { border: none; padding: 1em 2em; p { .uppercase-heading(); color: @white; font-size: .9em; text-align: center; margin: 0; } } // Discord colors &.mainpage-discord { .tile-top { background: @discord-bg; } .tile-bottom { background: @discord-bg-dark; } } // X (Twitter) colors &.mainpage-twitter { .tile-top { background: @twitter-bg; } .tile-bottom { background: @twitter-bg-dark; } } } 78303172e7876b3dfd319d550a78b5384e2a5fef 1131 1129 2024-03-24T01:55:03Z Merds 25 less less /* =================== MAIN PAGE =================== */ // preview the mobile main page at <https://brightershoreswiki.org/?useformat=mobile> /* =================== variables =================== */ @mp-text-light: fade( @white, 90% ); @mp-gutter-width: .9rem; /* =================== mixins =================== */ .uppercase-heading(@text-color: var(--byline-color)) { color: @text-color; font-weight: bold; text-transform: uppercase; letter-spacing: .025em; } @keyframes slide-up { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } } /* ==================== general styles ==================== */ .mainpage-header { margin: 2em 1em 0; // reduce margins .header-intro { @media only screen and (max-width: @width-breakpoint-desktop) { h1 { text-align: center; font-size: 1.8em; } p { font-size: 1em; // reset from 1.1m } } } } .mainpage-body { .tile-row { // common does width: 100% width: inherit; } } .mainpage-left { .tile { padding: 2.5em 1.75em 2em; h2 { padding: 0; margin: .65em .5em; } } .tile-halves { h2 { padding: 0; margin: .65em .5em; } } } /* ============================= section-specific styles ============================= */ /* -------------------- recent updates -------------------- */ .mainpage-recent-updates { padding: 1.5em 1em 2.5em; &::before { content: 'Recent updates'; display: block; margin-left: 1.5em; .uppercase-heading(); grid-column: ~"1 / 4"; } .tile-halves { display: inline-block; width: 100%; white-space: initial; flex: unset; &:nth-child(1) { animation: .9s .2s both slide-up; } &:nth-child(2) { animation: .9s .4s both slide-up; } &:nth-child(3) { animation: .9s .6s both slide-up; } } .tile-top { height: 9em; overflow: hidden; } .tile-bottom { padding-bottom: .5rem; } .byline { margin: 0; & + h2 { margin: .025em 0 0; padding: 0; } } // center recent updates for smaller widths @media only screen and (max-width: @width-breakpoint-tablet) { &::before { text-align: center; margin: 0; grid-column: auto; } } } /* -------------------- wiki contents -------------------- */ .mainpage-contents { background: var(--body-mid); padding: 55px 1em 2em 2.5em; overflow-x: auto; grid-template-columns: repeat(6, 1fr) !important; // shouldnt break into two position: relative; scroll-snap-align: center; &::before { content: 'Explore'; margin: 1em; position: absolute; top: 0; .uppercase-heading(@text-color: inherit); grid-column: ~"1 / 6"; } .tile-halves { border: none; background: none; box-shadow: none; width: 200px; } .tile-top { padding: 0; height: initial; } .tile-bottom { border: none; } h2 { width: 100%; } } /* -------------------- skills -------------------- */ .mainpage-skills .tile-top ul { @media only screen and (max-width: @width-breakpoint-desktop) { margin: 0; } } /* -------------------- wiki news -------------------- */ .mainpage-wikinews { &::before { content: 'From the wiki'; margin-left: .75em; .uppercase-heading(); } } /* -------------------- social -------------------- */ .mainpage-social { border: none; margin-bottom: 0; .tile-top { display: flex; align-items: center; justify-content: center; padding: 1em 2em; min-height: 70px; // not in em because the server icon is a fixed size .social-icon { float: left; margin: 0 1em 0 -1em; width: 60px; text-align: center; } .social-header { color: @white; font-weight: bold; font-size: 1.25em; margin: 0; } .social-tagline { color: @mp-text-light; margin: 0; } } .tile-bottom { border: none; padding: 1em 2em; p { .uppercase-heading(); color: @white; font-size: .9em; text-align: center; margin: 0; } } // Discord colors &.mainpage-discord { .tile-top { background: @discord-bg; } .tile-bottom { background: @discord-bg-dark; } } // X (Twitter) colors &.mainpage-twitter { .tile-top { background: @twitter-bg; } .tile-bottom { background: @twitter-bg-dark; } } } 4aa36a6df90433314d82b24c6726c9ae8b1872a5 MediaWiki:Minerva.css 8 422 1130 677 2024-03-24T01:43:08Z Merds 25 Updating CSS from [[MediaWiki:Minerva.less]] css text/css /* <pre> */ body { font-family: system-ui, -apple-system, Roboto, Helvetica, sans-serif; } @media all and (max-width: 320px) { body { font-size: 0.9em; } } .content { line-height: 1.7; } .pre-content h1, .content h1, .content h2 { font-weight: bold; } body { background: var(--body-background-color); color: var(--text-color); } select { color: var(--text-color); } a:not( [ href ] ) { color: inherit; } a.external, .mw-parser-output a.external { background-image: var(--external-icon); } blockquote { border-color: var(--body-mid); font-family: inherit; } .pre-content h1 { text-align: center; } .mw-parser-output h2:first-of-type { clear: both; } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .plainlist ol, .content .plainlist ul { padding: 0; } .content p { margin: 0.5em 0; } .content hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } .content kbd, .content samp { border: none; } .content code, .content pre { background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='%23000'%3E%3Cpath d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM3 8a5 5 0 1 0 10 0A5 5 0 1 0 3 8z'/%3E%3C/g%3E%3C/svg%3E"); --external-icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cg fill='%23906039'%3E%3Cpath d='M8.9 8.9H1.1V1.1h2.8V0H1.1C.5 0 0 .5 0 1.1v7.8C0 9.5.5 10 1.1 10h7.8c.6 0 1.1-.5 1.1-1.1V6.1H8.9v2.8z'/%3E%3Cpath d='M10 0H5.6l1.8 1.8L4.2 5l.8.8 3.2-3.2L10 4.4V0z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-center { background-color: transparent; } .header { border-top: none; } .header-container.header-chrome { background: var(--body-background-image) var(--body-background-color) no-repeat; background-color: var(--body-background-color); background-size: 900px; box-shadow: inset 0 -1px 3px rgba(0, 0, 0, 0.1); } .header-container .notification-count { border-radius: 50%; } .header-container .notification-count.notification-unseen { background: none; } .header-container .branding-box { opacity: 1; } .search-box { text-align: right; } .search-box .search { background-color: var(--search-box); border-color: var(--search-box); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .search-box .search::placeholder { color: var(--byline-color); } .client-nojs .search-box .search:focus, .search-overlay .search-box .search:focus { border-color: var(--link-color); box-shadow: inset 0 0 0 1px var(--link-color), 0 1px 1px rgba(0, 0, 0, 0.05); } .mw-ui-background-icon-search { background-image: var(--searchbutton-icon); } .overlay { background: var(--body-main); } .overlay textarea { color: var(--text-color); } .overlay.search-overlay { background: var(--body-main); } .overlay.search-overlay .results, .overlay.search-overlay .search-feedback { background-color: var(--body-light); } .overlay.search-overlay .search-content { border-color: var(--body-mid); } .overlay .license { color: var(--base-text-color); } .overlay .panel { border-color: var(--sidebar); } .overlay .content-header { background-color: var(--body-light); border-color: transparent; } .overlay.overlay-loading { background: var(--ooui-window-background); } .overlay .overlay-content { background: var(--body-main); } .page-summary h2, .page-summary h3 { color: var(--text-color); } .page-list li, .topic-title-list li, .site-link-list li { border-color: var(--body-mid); } .overlay-enabled .overlay:not(.editor-overlay), .overlay-enabled #mw-mf-page-center { overflow-y: scroll; } .overlay-header-container, .overlay-footer-container { background-color: var(--body-background-color); border-color: transparent; } .editor-overlay .wikitext-editor { color: var(--text-color); } .editor-overlay .overlay-header { outline-color: transparent; } .editor-overlay .summary-request { color: var(--text-color); } .editor-overlay .editor-switcher { border: none; } .action-submit .mw-editnotice .action-edit .mw-editnotice, .action-submit .mw-editTools, .action-edit .mw-editTools, .action-submit .preview-limit-report-wrapper, .action-edit .preview-limit-report-wrapper, .action-submit .diff-otitle, .action-edit .diff-otitle, .action-submit .diff-ntitle, .action-edit .diff-ntitle, .action-submit #section_0, .action-edit #section_0, .action-submit #editpage-copywarn, .action-edit #editpage-copywarn, .action-submit #mw-anon-edit-warning, .action-edit #mw-anon-edit-warning { color: var(--byline-color); } .wikitext-editor { background-color: var(--body-main); } .ve-mobile-fakeToolbar { border: none; } .ve-mobile-fakeToolbar-container { background: var(--body-background-color); border: none; } .ve-mobile-fakeToolbar .mw-ui-icon-mf-spinner { border-color: transparent; } .ve-ui-targetToolbar-mobile .oo-ui-toolbar-tools > .ve-ui-toolbar-group-back { border-color: transparent; } .ve-ui-mobileContext { background-color: var(--body-light); border-color: var(--body-light); } .ve-ui-mobileContext .ve-ui-linearContextItem-body-action-wrapper { border-color: var(--body-border); } .ve-ui-linearContextItem-foot:not(:empty) { border-color: var(--body-border); } .ve-ui-mwSaveDialog-options { backgroubd-color: var(--body-light); border-color: var(--body-mid); } .page-actions-menu { border-color: var(--sidebar); } #language-selector { display: none; } .minerva__tab-container .minerva__tab { color: var(--text-color); } .minerva__tab-container .minerva__tab.new, .minerva__tab-container .minerva__tab.new:visited, .minerva__tab-container .minerva__tab.new:hover, .minerva__tab-container .minerva__tab.new:active { color: var(--redlink-color); } .minerva__tab-container .minerva__tab.selected { border-color: var(--body-border); } .heading-holder .tagline { color: var(--base-heading-color); } .minerva-footer { border-color: transparent; } .mw-footer > .post-content { margin-top: 32px; } .mw-footer > .post-content > .minerva-footer-logo { display: none; } .mw-footer .hlist li:after { color: var(--background-text-color); } .last-modified-bar { border-top: 1px solid; border-color: transparent; background: none; color: var(--text-color); } .last-modified-bar a, .last-modified-bar a:active, .last-modified-bar a:visited, .last-modified-bar .last-modified-text-accent { color: var(--background-text-color); } .last-modified-bar.active, .last-modified-bar.active:active, .last-modified-bar.active:visited, .last-modified-bar.active .last-modified-text-accent { color: #fff; } .mw-ui-icon-mf-expand-gray:not(.mw-ui-icon-mf-expand-invert):before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eexpand%3C/title%3E%3Cg fill='%2354595d'%3E%3Cpath d='M17.5 4.75l-7.5 7.5-7.5-7.5L1 6.25l9 9 9-9z'/%3E%3C/g%3E%3C/svg%3E"); } .toggle-list__list { background-color: var(--wikitable-bg); } .toggle-list-item__anchor:visited, .toggle-list-item__anchor:active { color: var(--base-text-color); } .toggle-list-item:hover { background: var(--wikitable-bg-lighter); } .toggle-list-item__label { color: var(--base-text-color); } .mw-ui-icon-wikimedia-search-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esearch%3C/title%3E%3Cg fill='white'%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 111.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 113 8a5 5 0 0110 0z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-menu-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Emenu%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M1 3v2h18V3zm0 8h18V9H1zm0 6h18v-2H1z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-bellOutline-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Ebell%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M11.5 2.19C14.09 2.86 16 5.2 16 8v6l2 2v1H2v-1l2-2V8c0-2.8 1.91-5.14 4.5-5.81V1.5C8.5.67 9.17 0 10 0s1.5.67 1.5 1.5v.69zM10 4C7.79 4 6 5.79 6 8v7h8V8c0-2.21-1.79-4-4-4zM8 18h4c0 1.1-.9 2-2 2s-2-.9-2-2z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-minerva-userAvatarOutline:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Euser avatar%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M10 8c1.7 0 3.06-1.35 3.06-3S11.7 2 10 2 6.94 3.35 6.94 5 8.3 8 10 8zm0 2c-2.8 0-5.06-2.24-5.06-5S7.2 0 10 0s5.06 2.24 5.06 5-2.26 5-5.06 5zm-7 8h14v-1.33c0-1.75-2.31-3.56-7-3.56s-7 1.81-7 3.56V18zm7-6.89c6.66 0 9 3.33 9 5.56V20H1v-3.33c0-2.23 2.34-5.56 9-5.56z'/%3E%3C/g%3E%3C/svg%3E%0A"); } @media all and (min-width: 1000px) { .mw-ui-icon-with-label-desktop, .mw-ui-icon-with-label-desktop:hover, .mw-ui-icon-with-label-desktop:focus, .mw-ui-icon-with-label-desktop:active, .mw-ui-icon-with-label-desktop:visited { color: var(--base-text-color) !important; } } .header-action .mw-ui-icon-mf-close-base20:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclose%3C/title%3E%3Cg fill='%23fff'%3E%3Cpath d='m4.3 2.9 12.8 12.8-1.4 1.4L2.9 4.3z'/%3E%3Cpath d='M17.1 4.3 4.3 17.1l-1.4-1.4L15.7 2.9z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-left { background-color: var(--body-background-color); } #mw-mf-page-left .secondary-action { border-left-color: var(--body-mid); } #mw-mf-page-left ul li { background-color: var(--body-main); border-color: var(--body-mid); } #mw-mf-page-left ul li a { color: var(--base-text-color); } #mw-mf-page-left ul li a:hover { box-shadow: inset 4px 0 0 0 var(--link-color); } #mw-mf-page-left ul.hlist li a { color: var(--background-link-color); } #mw-mf-page-left ul.hlist li a span { font-size: 0.8125rem; } .notifications-overlay.navigation-drawer { box-shadow: -1px 0 8px 0 rgba(0, 0, 0, 0.35); } .notifications-overlay .mw-echo-ui-actionMenuPopupWidget-menu { border: none; } .mw-ui-anchor.mw-ui-progressive, .mw-ui-anchor.mw-ui-progressive:active, .mw-ui-anchor.mw-ui-progressive:hover, .mw-ui-anchor.mw-ui-progressive:focus { color: var(--link-color); } .minerva-talk-full-page-button { background-color: var(--body-main); border-color: var(--body-dark); color: var(--link-color); } .minerva-talk-content-explained { border-color: var(--sidebar); color: var(--base-text-color); } .talk-overlay .comment .wikitext-editor { border-color: var(--body-border); } .client-js .skin-minerva--talk-simplified .section-heading { border-color: var(--sidebar); } .mw-notification a, .toast a { color: var(--link-color); } .drawer { background-color: var(--body-light); } .drawer.references-drawer { background-color: var(--body-light); color: var(--text-color); } .drawer.references-drawer a { color: var(--link-color); } .drawer.references-drawer .references-drawer__title { color: var(--text-color); } .drawer.references-drawer .mw-ui-icon::before { filter: brightness(0); } .cta-holder { background: var(--body-light); } .cta-holder .desc { color: var(--byline-color); } .mw-tag-marker { border-color: var(--body-border); } .oo-ui-toolGroup { background: var(--body-background-color); } .load-fail-msg { color: var(--text-color); } .load-fail-msg-link a { color: var(--link-color); } .image-carousel .image-loaded { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E%0A") repeat; } .image-details { background-color: var(--body-light); border-color: transparent; } @media all and (min-width: 720px) { .ns-special .pre-content { background-color: transparent; } .ns-special .mw-body { background: var(--body-main); } .ns-special .mw-body form { background: transparent; } } form.mw-mf-settings .oo-ui-fieldLayout, form.mw-mf-settings .oo-ui-fieldLayout:first-child { border-color: var(--body-mid); } .ns-special .content-header { border-bottom-color: var(--body-dark); } .action-history .mw-history-compareselectedversions { background-color: var(--body-main); } .action-history #pagehistory li:not(.selected) { border-bottom-color: var(--sidebar); } ul.mw-contributions-list li, ul.special li { border-color: var(--sidebar); } .page-list li > a:not(.mw-ui-icon-element), .topic-title-list li > a:not(.mw-ui-icon-element), .site-link-list li > a:not(.mw-ui-icon-element) { color: var(--byline-color); } .page-list.side-list .list-thumb, .topic-title-list.side-list .list-thumb, .site-link-list.side-list .list-thumb { color: var(--text-color); } .page-list .info, .topic-title-list .info, .site-link-list .info, .page-list .component, .topic-title-list .component, .site-link-list .component { color: var(--byline-color); } .mw-mf-user { color: var(--text-color); } .content .mw-index-pager-list-header { background-color: var(--body-mid); color: inherit; font-family: inherit; } .diff-editfont-monospace { font-family: monospace,monospace; } :root { --diff-deletedline-background: #fbc0ba; } .minoredit { background: var(--body-mid); } #mw-mf-diffview .mw-mf-diff-date { color: var(--byline-color); } #mw-mf-diffview .mw-diff-inline-deleted del, #mw-mf-diffview .mw-diff-inline-changed del { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-added ins, #mw-mf-diffview .mw-diff-inline-changed ins { background: var(--diff-addedline-background); color: var(--diff-addedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-moved { background: var(--diff-context-background); } #mw-mf-diffview #mw-mf-userinfo { background: var(--body-light); border-top-color: var(--body-border); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count { color: var(--text-color); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count div { color: var(--base-text-color); } .infobox { font-size: 85%; background-color: var(--body-light); border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); table-layout: fixed; } .content .infobox { display: table; } .content .infobox caption { display: table-caption; background: none; } .infobox .infobox-header { color: var(--infobox-text-color); font-size: 1.15em; background: var(--body-dark); padding: 0.5em 0; text-align: center; } .infobox .infobox-subheader { background: var(--body-dark); line-height: 2em; text-align: center; } .infobox .infobox-subheader a { color: var(--infobox-text-color); } .infobox th:not(.infobox-nested):not(.infobox-subheader):not(.infobox-header) { text-align: right; vertical-align: top; border-right: 2px solid var(--body-dark); padding: 0.2em 0.5em; } .infobox caption.infobox-caption { text-align: center; } .infobox td { padding: 0.25em 0.5em; line-height: 1.6em; } .infobox td.infobox-nested { padding: 0.25em 0; line-height: 1em; } .infobox .infobox-padding { height: 0.5em; padding: 0; border: 0; } .infobox .infobox-image { text-align: center; } .infobox .infobox-image.inventory-image { height: 32px; } .infobox .infobox-nested { text-align: center; } .infobox .infobox-nested + .infobox-nested { border-left: 2px solid var(--body-dark); } .infobox .infobox-cell-hidden { display: none; } .infobox .infobox-full-width-content { max-width: 300px; text-align: center; overflow-x: hidden; padding: 0; } .skill-info a[href$="?action=edit"] + a[href$="?action=edit"] { display: none; } .infobox-buttons { margin-top: 0.5em; text-align: center; } .infobox-bottom-links { display: none; } .advanced-data { display: none; } @media screen and (min-width: 720px) { .content table.infobox { float: right; margin-top: 0.5em; margin-left: 1em; width: 300px !important; } .content table.infobox.skill-info { float: none; margin: 0 0 1em 0; } } .multi-infobox { margin-top: 0.5em; margin-bottom: 2.5em; } .multi-infobox .tabber { margin: 0; } .multi-infobox .tabber .tabbernav { text-align: center; margin-left: 0; } .mw-body .multi-infobox .tabber .tabbertab { padding: 5px; } .multi-infobox table.infobox { margin: 0; } .multi-infobox .infobox-buttons { margin-top: 0; } @media screen and (min-width: 720px) { .multi-infobox { float: right; margin-left: 1em; width: 300px; } } .tile { padding: 1.5em 2em 1em; } .tile h2 { font-weight: 600; border: none; margin-top: 0.4em; } .tile o .byline + h2 { margin-top: -0.5em; } .tile-top { padding: 1.3rem 1.5rem 2rem; } .tile-bottom { padding: 1rem 1.5rem 2rem; } .tile-bottom.read-more { padding: 0; } .tile-bottom.read-more a { padding: 1em 1.75em; } :root { --mobile-navbox-wide-bg-color: #dcd3bf; --mobile-navbox-linear-gradient: linear-gradient(to right, rgba(255, 255, 255, 0), var(--body-main) 95%, var(--body-main)); } .navbox { border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); font-size: 0.85em; } .content .navbox ul { padding-left: 0; } .content .navbox ul li { margin-bottom: 0; } @media screen and (max-width: 719px) { .navbox td, .navbox th, .navbox tr, .navbox tbody, .navbox .navbox-subgroup { display: block; } } @media screen and (min-width: 720px) { .content table.navbox, .content .navbox table { width: 100% !important; } } .navbox .navbox-subgroup { margin: 0; } .navbox .navbar { display: none; } .navbox .plink-template, .navbox img { display: none; } .navbox-title { color: var(--text-color); background-color: var(--body-dark); font-size: 140%; text-align: center; padding: 0.25em 0.85em; } @media screen and (min-width: 720px) { .navbox-title { border-bottom: 1px solid var(--body-border); } } .navbox-group-title { background-color: var(--body-mid); text-align: left; padding: 0.2em 0.85em; } @media screen and (max-width: 719px) { .navbox-group-title { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } } @media screen and (min-width: 720px) { .navbox-group-title { border: 1px solid var(--body-border); border-width: 0 1px 1px 0; width: 12vw; } } .navbox-group-title-hidden { display: none; } .navbox-list { padding: 0; position: relative; } @media screen and (min-width: 720px) { .navbox-list { border-bottom: 1px solid var(--body-border); } } .navbox-list ul { display: flex; } @media screen and (max-width: 719px) { .navbox-list ul { white-space: nowrap; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; } } @media screen and (min-width: 720px) { .navbox-list ul { padding: 0.2em 0.85em 0.5em !important; flex-wrap: wrap; } } @media screen and (min-width: 720px) { .navbox-list[style*="center"] ul { justify-content: center; } } .navbox-list li { display: inline-flex; align-items: center; height: 3.5em; margin: 0 0 0 0.85em; } @media screen and (min-width: 720px) { .navbox-list li { height: 2.1em; } .navbox-list li:first-child { margin-left: 0; } } .navbox-list li + li::before { content: '•'; display: inline-block; white-space: pre-wrap; position: relative; left: -0.425em; color: var(--text-color); pointer-events: none; } .navbox-list li + li > a + a::before { display: none; } .navbox-list li:last-child { margin-right: 2em; } .navbox-list::after { content: ''; display: block; position: absolute; background-image: var(--mobile-navbox-linear-gradient); height: 100%; width: 2.5em; top: 0; right: 0; pointer-events: none; } @media screen and (min-width: 720px) { .navbox-list::after { display: none; } } .navbox-list.navbox-parent { border-bottom: 0; padding: 0; } .navbox-list.navbox-parent::after { display: none; } .navbox-group .navbox-group .navbox-group-title { background-color: var(--body-light); padding: 0 0.85em 0 1.7em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group-title { padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-list ul { padding-left: 1.7em; } .navbox-group .navbox-group .navbox-list li { margin-bottom: 0; } .navbox-group .navbox-group .navbox-list li:first-child { margin-left: 0; } .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 0.85em; } .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0.5em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0; } } .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: transparent; padding-left: 2.55em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: var(--mobile-navbox-wide-bg-color); padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-group .navbox-list ul { padding-left: 2.55em; } .navbox-group .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 1.7em; } @keyframes slide-up { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } } .mainpage-header { margin: 2em 1em 0; } @media only screen and (max-width: 1000px) { .mainpage-header .header-intro h1 { text-align: center; font-size: 1.8em; } .mainpage-header .header-intro p { font-size: 1em; } } .mainpage-body .tile-row { width: inherit; } .mainpage-left .tile { padding: 2.5em 1.75em 2em; } .mainpage-left .tile h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-left .tile-halves h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-recent-updates { padding: 1.5em 1em 2.5em; } .mainpage-recent-updates::before { content: 'Recent updates'; display: block; margin-left: 1.5em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 4; } .mainpage-recent-updates .tile-halves { display: inline-block; width: 100%; white-space: initial; flex: unset; } .mainpage-recent-updates .tile-halves:nth-child(1) { animation: 0.9s 0.2s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(2) { animation: 0.9s 0.4s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(3) { animation: 0.9s 0.6s both slide-up; } .mainpage-recent-updates .tile-top { height: 9em; overflow: hidden; } .mainpage-recent-updates .tile-bottom { padding-bottom: 0.5rem; } .mainpage-recent-updates .byline { margin: 0; } .mainpage-recent-updates .byline + h2 { margin: 0.025em 0 0; padding: 0; } @media only screen and (max-width: 720px) { .mainpage-recent-updates::before { text-align: center; margin: 0; grid-column: auto; } } .mainpage-contents { background: var(--body-mid); padding: 55px 1em 2em 2.5em; overflow-x: auto; grid-template-columns: repeat(6, 1fr) !important; position: relative; scroll-snap-align: center; } .mainpage-contents::before { content: 'Explore'; margin: 1em; position: absolute; top: 0; color: inherit; font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 6; } .mainpage-contents .tile-halves { border: none; background: none; box-shadow: none; width: 200px; } .mainpage-contents .tile-top { padding: 0; height: initial; } .mainpage-contents .tile-bottom { border: none; } .mainpage-contents h2 { width: 100%; } @media only screen and (max-width: 1000px) { .mainpage-skills .tile-top ul { margin: 0; } } .mainpage-wikinews::before { content: 'From the wiki'; margin-left: 0.75em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; } .mainpage-social { border: none; margin-bottom: 0; } .mainpage-social .tile-top { display: flex; align-items: center; justify-content: center; padding: 1em 2em; height: 70px; } .mainpage-social .tile-top .social-icon { float: left; margin: 0 1em 0 -1em; width: 60px; text-align: center; } .mainpage-social .tile-top .social-header { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0; } .mainpage-social .tile-top .social-tagline { color: rgba(255, 255, 255, 0.9); margin: 0; } .mainpage-social .tile-bottom { border: none; padding: 1em 2em; } .mainpage-social .tile-bottom p { color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; color: #fff; font-size: 0.9em; text-align: center; margin: 0; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .wikitable { background: none; box-shadow: none; } .wikitable tbody { background: var(--body-light); } .toc { background-color: var(--body-light); border-color: var(--body-border); } #filetoc li { display: inline; padding-right: 2em; } .mw-dismissable-notice-body { margin: 0; } .mw-dismissable-notice-body .mw-dismissable-notice-close-parent { border-radius: 0 !important; font-size: 0.75em; } :root { --thumb-image-background: var(--body-light); --thumb-caption-background: var(--body-mid); } .content .thumbinner { background-color: var(--thumb-bg); } .content .thumbimage { border: 1px solid transparent; border-bottom: none; } .content .thumbcaption { margin: 0; padding: 4px 6px !important; color: inherit; background: var(--thumb-caption-bg); } .content table.messagebox { margin: 0.5em auto; } .content table a > img { max-width: inherit !important; height: inherit !important; } .content .infobox a > img { max-width: 100% !important; height: auto !important; } .content .infobox-bonuses a > img { max-width: inherit !important; height: inherit !important; } 7c83a2b855db914b9e3c3c86197a687268fccb74 1132 1130 2024-03-24T01:55:11Z Merds 25 Updating CSS from [[MediaWiki:Minerva.less]] css text/css /* <pre> */ body { font-family: system-ui, -apple-system, Roboto, Helvetica, sans-serif; } @media all and (max-width: 320px) { body { font-size: 0.9em; } } .content { line-height: 1.7; } .pre-content h1, .content h1, .content h2 { font-weight: bold; } body { background: var(--body-background-color); color: var(--text-color); } select { color: var(--text-color); } a:not( [ href ] ) { color: inherit; } a.external, .mw-parser-output a.external { background-image: var(--external-icon); } blockquote { border-color: var(--body-mid); font-family: inherit; } .pre-content h1 { text-align: center; } .mw-parser-output h2:first-of-type { clear: both; } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .plainlist ol, .content .plainlist ul { padding: 0; } .content p { margin: 0.5em 0; } .content hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } .content kbd, .content samp { border: none; } .content code, .content pre { background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='%23000'%3E%3Cpath d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM3 8a5 5 0 1 0 10 0A5 5 0 1 0 3 8z'/%3E%3C/g%3E%3C/svg%3E"); --external-icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cg fill='%23906039'%3E%3Cpath d='M8.9 8.9H1.1V1.1h2.8V0H1.1C.5 0 0 .5 0 1.1v7.8C0 9.5.5 10 1.1 10h7.8c.6 0 1.1-.5 1.1-1.1V6.1H8.9v2.8z'/%3E%3Cpath d='M10 0H5.6l1.8 1.8L4.2 5l.8.8 3.2-3.2L10 4.4V0z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-center { background-color: transparent; } .header { border-top: none; } .header-container.header-chrome { background: var(--body-background-image) var(--body-background-color) no-repeat; background-color: var(--body-background-color); background-size: 900px; box-shadow: inset 0 -1px 3px rgba(0, 0, 0, 0.1); } .header-container .notification-count { border-radius: 50%; } .header-container .notification-count.notification-unseen { background: none; } .header-container .branding-box { opacity: 1; } .search-box { text-align: right; } .search-box .search { background-color: var(--search-box); border-color: var(--search-box); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .search-box .search::placeholder { color: var(--byline-color); } .client-nojs .search-box .search:focus, .search-overlay .search-box .search:focus { border-color: var(--link-color); box-shadow: inset 0 0 0 1px var(--link-color), 0 1px 1px rgba(0, 0, 0, 0.05); } .mw-ui-background-icon-search { background-image: var(--searchbutton-icon); } .overlay { background: var(--body-main); } .overlay textarea { color: var(--text-color); } .overlay.search-overlay { background: var(--body-main); } .overlay.search-overlay .results, .overlay.search-overlay .search-feedback { background-color: var(--body-light); } .overlay.search-overlay .search-content { border-color: var(--body-mid); } .overlay .license { color: var(--base-text-color); } .overlay .panel { border-color: var(--sidebar); } .overlay .content-header { background-color: var(--body-light); border-color: transparent; } .overlay.overlay-loading { background: var(--ooui-window-background); } .overlay .overlay-content { background: var(--body-main); } .page-summary h2, .page-summary h3 { color: var(--text-color); } .page-list li, .topic-title-list li, .site-link-list li { border-color: var(--body-mid); } .overlay-enabled .overlay:not(.editor-overlay), .overlay-enabled #mw-mf-page-center { overflow-y: scroll; } .overlay-header-container, .overlay-footer-container { background-color: var(--body-background-color); border-color: transparent; } .editor-overlay .wikitext-editor { color: var(--text-color); } .editor-overlay .overlay-header { outline-color: transparent; } .editor-overlay .summary-request { color: var(--text-color); } .editor-overlay .editor-switcher { border: none; } .action-submit .mw-editnotice .action-edit .mw-editnotice, .action-submit .mw-editTools, .action-edit .mw-editTools, .action-submit .preview-limit-report-wrapper, .action-edit .preview-limit-report-wrapper, .action-submit .diff-otitle, .action-edit .diff-otitle, .action-submit .diff-ntitle, .action-edit .diff-ntitle, .action-submit #section_0, .action-edit #section_0, .action-submit #editpage-copywarn, .action-edit #editpage-copywarn, .action-submit #mw-anon-edit-warning, .action-edit #mw-anon-edit-warning { color: var(--byline-color); } .wikitext-editor { background-color: var(--body-main); } .ve-mobile-fakeToolbar { border: none; } .ve-mobile-fakeToolbar-container { background: var(--body-background-color); border: none; } .ve-mobile-fakeToolbar .mw-ui-icon-mf-spinner { border-color: transparent; } .ve-ui-targetToolbar-mobile .oo-ui-toolbar-tools > .ve-ui-toolbar-group-back { border-color: transparent; } .ve-ui-mobileContext { background-color: var(--body-light); border-color: var(--body-light); } .ve-ui-mobileContext .ve-ui-linearContextItem-body-action-wrapper { border-color: var(--body-border); } .ve-ui-linearContextItem-foot:not(:empty) { border-color: var(--body-border); } .ve-ui-mwSaveDialog-options { backgroubd-color: var(--body-light); border-color: var(--body-mid); } .page-actions-menu { border-color: var(--sidebar); } #language-selector { display: none; } .minerva__tab-container .minerva__tab { color: var(--text-color); } .minerva__tab-container .minerva__tab.new, .minerva__tab-container .minerva__tab.new:visited, .minerva__tab-container .minerva__tab.new:hover, .minerva__tab-container .minerva__tab.new:active { color: var(--redlink-color); } .minerva__tab-container .minerva__tab.selected { border-color: var(--body-border); } .heading-holder .tagline { color: var(--base-heading-color); } .minerva-footer { border-color: transparent; } .mw-footer > .post-content { margin-top: 32px; } .mw-footer > .post-content > .minerva-footer-logo { display: none; } .mw-footer .hlist li:after { color: var(--background-text-color); } .last-modified-bar { border-top: 1px solid; border-color: transparent; background: none; color: var(--text-color); } .last-modified-bar a, .last-modified-bar a:active, .last-modified-bar a:visited, .last-modified-bar .last-modified-text-accent { color: var(--background-text-color); } .last-modified-bar.active, .last-modified-bar.active:active, .last-modified-bar.active:visited, .last-modified-bar.active .last-modified-text-accent { color: #fff; } .mw-ui-icon-mf-expand-gray:not(.mw-ui-icon-mf-expand-invert):before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eexpand%3C/title%3E%3Cg fill='%2354595d'%3E%3Cpath d='M17.5 4.75l-7.5 7.5-7.5-7.5L1 6.25l9 9 9-9z'/%3E%3C/g%3E%3C/svg%3E"); } .toggle-list__list { background-color: var(--wikitable-bg); } .toggle-list-item__anchor:visited, .toggle-list-item__anchor:active { color: var(--base-text-color); } .toggle-list-item:hover { background: var(--wikitable-bg-lighter); } .toggle-list-item__label { color: var(--base-text-color); } .mw-ui-icon-wikimedia-search-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esearch%3C/title%3E%3Cg fill='white'%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 111.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 113 8a5 5 0 0110 0z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-menu-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Emenu%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M1 3v2h18V3zm0 8h18V9H1zm0 6h18v-2H1z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-bellOutline-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Ebell%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M11.5 2.19C14.09 2.86 16 5.2 16 8v6l2 2v1H2v-1l2-2V8c0-2.8 1.91-5.14 4.5-5.81V1.5C8.5.67 9.17 0 10 0s1.5.67 1.5 1.5v.69zM10 4C7.79 4 6 5.79 6 8v7h8V8c0-2.21-1.79-4-4-4zM8 18h4c0 1.1-.9 2-2 2s-2-.9-2-2z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-minerva-userAvatarOutline:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Euser avatar%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M10 8c1.7 0 3.06-1.35 3.06-3S11.7 2 10 2 6.94 3.35 6.94 5 8.3 8 10 8zm0 2c-2.8 0-5.06-2.24-5.06-5S7.2 0 10 0s5.06 2.24 5.06 5-2.26 5-5.06 5zm-7 8h14v-1.33c0-1.75-2.31-3.56-7-3.56s-7 1.81-7 3.56V18zm7-6.89c6.66 0 9 3.33 9 5.56V20H1v-3.33c0-2.23 2.34-5.56 9-5.56z'/%3E%3C/g%3E%3C/svg%3E%0A"); } @media all and (min-width: 1000px) { .mw-ui-icon-with-label-desktop, .mw-ui-icon-with-label-desktop:hover, .mw-ui-icon-with-label-desktop:focus, .mw-ui-icon-with-label-desktop:active, .mw-ui-icon-with-label-desktop:visited { color: var(--base-text-color) !important; } } .header-action .mw-ui-icon-mf-close-base20:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclose%3C/title%3E%3Cg fill='%23fff'%3E%3Cpath d='m4.3 2.9 12.8 12.8-1.4 1.4L2.9 4.3z'/%3E%3Cpath d='M17.1 4.3 4.3 17.1l-1.4-1.4L15.7 2.9z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-left { background-color: var(--body-background-color); } #mw-mf-page-left .secondary-action { border-left-color: var(--body-mid); } #mw-mf-page-left ul li { background-color: var(--body-main); border-color: var(--body-mid); } #mw-mf-page-left ul li a { color: var(--base-text-color); } #mw-mf-page-left ul li a:hover { box-shadow: inset 4px 0 0 0 var(--link-color); } #mw-mf-page-left ul.hlist li a { color: var(--background-link-color); } #mw-mf-page-left ul.hlist li a span { font-size: 0.8125rem; } .notifications-overlay.navigation-drawer { box-shadow: -1px 0 8px 0 rgba(0, 0, 0, 0.35); } .notifications-overlay .mw-echo-ui-actionMenuPopupWidget-menu { border: none; } .mw-ui-anchor.mw-ui-progressive, .mw-ui-anchor.mw-ui-progressive:active, .mw-ui-anchor.mw-ui-progressive:hover, .mw-ui-anchor.mw-ui-progressive:focus { color: var(--link-color); } .minerva-talk-full-page-button { background-color: var(--body-main); border-color: var(--body-dark); color: var(--link-color); } .minerva-talk-content-explained { border-color: var(--sidebar); color: var(--base-text-color); } .talk-overlay .comment .wikitext-editor { border-color: var(--body-border); } .client-js .skin-minerva--talk-simplified .section-heading { border-color: var(--sidebar); } .mw-notification a, .toast a { color: var(--link-color); } .drawer { background-color: var(--body-light); } .drawer.references-drawer { background-color: var(--body-light); color: var(--text-color); } .drawer.references-drawer a { color: var(--link-color); } .drawer.references-drawer .references-drawer__title { color: var(--text-color); } .drawer.references-drawer .mw-ui-icon::before { filter: brightness(0); } .cta-holder { background: var(--body-light); } .cta-holder .desc { color: var(--byline-color); } .mw-tag-marker { border-color: var(--body-border); } .oo-ui-toolGroup { background: var(--body-background-color); } .load-fail-msg { color: var(--text-color); } .load-fail-msg-link a { color: var(--link-color); } .image-carousel .image-loaded { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E%0A") repeat; } .image-details { background-color: var(--body-light); border-color: transparent; } @media all and (min-width: 720px) { .ns-special .pre-content { background-color: transparent; } .ns-special .mw-body { background: var(--body-main); } .ns-special .mw-body form { background: transparent; } } form.mw-mf-settings .oo-ui-fieldLayout, form.mw-mf-settings .oo-ui-fieldLayout:first-child { border-color: var(--body-mid); } .ns-special .content-header { border-bottom-color: var(--body-dark); } .action-history .mw-history-compareselectedversions { background-color: var(--body-main); } .action-history #pagehistory li:not(.selected) { border-bottom-color: var(--sidebar); } ul.mw-contributions-list li, ul.special li { border-color: var(--sidebar); } .page-list li > a:not(.mw-ui-icon-element), .topic-title-list li > a:not(.mw-ui-icon-element), .site-link-list li > a:not(.mw-ui-icon-element) { color: var(--byline-color); } .page-list.side-list .list-thumb, .topic-title-list.side-list .list-thumb, .site-link-list.side-list .list-thumb { color: var(--text-color); } .page-list .info, .topic-title-list .info, .site-link-list .info, .page-list .component, .topic-title-list .component, .site-link-list .component { color: var(--byline-color); } .mw-mf-user { color: var(--text-color); } .content .mw-index-pager-list-header { background-color: var(--body-mid); color: inherit; font-family: inherit; } .diff-editfont-monospace { font-family: monospace,monospace; } :root { --diff-deletedline-background: #fbc0ba; } .minoredit { background: var(--body-mid); } #mw-mf-diffview .mw-mf-diff-date { color: var(--byline-color); } #mw-mf-diffview .mw-diff-inline-deleted del, #mw-mf-diffview .mw-diff-inline-changed del { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-added ins, #mw-mf-diffview .mw-diff-inline-changed ins { background: var(--diff-addedline-background); color: var(--diff-addedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-moved { background: var(--diff-context-background); } #mw-mf-diffview #mw-mf-userinfo { background: var(--body-light); border-top-color: var(--body-border); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count { color: var(--text-color); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count div { color: var(--base-text-color); } .infobox { font-size: 85%; background-color: var(--body-light); border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); table-layout: fixed; } .content .infobox { display: table; } .content .infobox caption { display: table-caption; background: none; } .infobox .infobox-header { color: var(--infobox-text-color); font-size: 1.15em; background: var(--body-dark); padding: 0.5em 0; text-align: center; } .infobox .infobox-subheader { background: var(--body-dark); line-height: 2em; text-align: center; } .infobox .infobox-subheader a { color: var(--infobox-text-color); } .infobox th:not(.infobox-nested):not(.infobox-subheader):not(.infobox-header) { text-align: right; vertical-align: top; border-right: 2px solid var(--body-dark); padding: 0.2em 0.5em; } .infobox caption.infobox-caption { text-align: center; } .infobox td { padding: 0.25em 0.5em; line-height: 1.6em; } .infobox td.infobox-nested { padding: 0.25em 0; line-height: 1em; } .infobox .infobox-padding { height: 0.5em; padding: 0; border: 0; } .infobox .infobox-image { text-align: center; } .infobox .infobox-image.inventory-image { height: 32px; } .infobox .infobox-nested { text-align: center; } .infobox .infobox-nested + .infobox-nested { border-left: 2px solid var(--body-dark); } .infobox .infobox-cell-hidden { display: none; } .infobox .infobox-full-width-content { max-width: 300px; text-align: center; overflow-x: hidden; padding: 0; } .skill-info a[href$="?action=edit"] + a[href$="?action=edit"] { display: none; } .infobox-buttons { margin-top: 0.5em; text-align: center; } .infobox-bottom-links { display: none; } .advanced-data { display: none; } @media screen and (min-width: 720px) { .content table.infobox { float: right; margin-top: 0.5em; margin-left: 1em; width: 300px !important; } .content table.infobox.skill-info { float: none; margin: 0 0 1em 0; } } .multi-infobox { margin-top: 0.5em; margin-bottom: 2.5em; } .multi-infobox .tabber { margin: 0; } .multi-infobox .tabber .tabbernav { text-align: center; margin-left: 0; } .mw-body .multi-infobox .tabber .tabbertab { padding: 5px; } .multi-infobox table.infobox { margin: 0; } .multi-infobox .infobox-buttons { margin-top: 0; } @media screen and (min-width: 720px) { .multi-infobox { float: right; margin-left: 1em; width: 300px; } } .tile { padding: 1.5em 2em 1em; } .tile h2 { font-weight: 600; border: none; margin-top: 0.4em; } .tile o .byline + h2 { margin-top: -0.5em; } .tile-top { padding: 1.3rem 1.5rem 2rem; } .tile-bottom { padding: 1rem 1.5rem 2rem; } .tile-bottom.read-more { padding: 0; } .tile-bottom.read-more a { padding: 1em 1.75em; } :root { --mobile-navbox-wide-bg-color: #dcd3bf; --mobile-navbox-linear-gradient: linear-gradient(to right, rgba(255, 255, 255, 0), var(--body-main) 95%, var(--body-main)); } .navbox { border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); font-size: 0.85em; } .content .navbox ul { padding-left: 0; } .content .navbox ul li { margin-bottom: 0; } @media screen and (max-width: 719px) { .navbox td, .navbox th, .navbox tr, .navbox tbody, .navbox .navbox-subgroup { display: block; } } @media screen and (min-width: 720px) { .content table.navbox, .content .navbox table { width: 100% !important; } } .navbox .navbox-subgroup { margin: 0; } .navbox .navbar { display: none; } .navbox .plink-template, .navbox img { display: none; } .navbox-title { color: var(--text-color); background-color: var(--body-dark); font-size: 140%; text-align: center; padding: 0.25em 0.85em; } @media screen and (min-width: 720px) { .navbox-title { border-bottom: 1px solid var(--body-border); } } .navbox-group-title { background-color: var(--body-mid); text-align: left; padding: 0.2em 0.85em; } @media screen and (max-width: 719px) { .navbox-group-title { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } } @media screen and (min-width: 720px) { .navbox-group-title { border: 1px solid var(--body-border); border-width: 0 1px 1px 0; width: 12vw; } } .navbox-group-title-hidden { display: none; } .navbox-list { padding: 0; position: relative; } @media screen and (min-width: 720px) { .navbox-list { border-bottom: 1px solid var(--body-border); } } .navbox-list ul { display: flex; } @media screen and (max-width: 719px) { .navbox-list ul { white-space: nowrap; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; } } @media screen and (min-width: 720px) { .navbox-list ul { padding: 0.2em 0.85em 0.5em !important; flex-wrap: wrap; } } @media screen and (min-width: 720px) { .navbox-list[style*="center"] ul { justify-content: center; } } .navbox-list li { display: inline-flex; align-items: center; height: 3.5em; margin: 0 0 0 0.85em; } @media screen and (min-width: 720px) { .navbox-list li { height: 2.1em; } .navbox-list li:first-child { margin-left: 0; } } .navbox-list li + li::before { content: '•'; display: inline-block; white-space: pre-wrap; position: relative; left: -0.425em; color: var(--text-color); pointer-events: none; } .navbox-list li + li > a + a::before { display: none; } .navbox-list li:last-child { margin-right: 2em; } .navbox-list::after { content: ''; display: block; position: absolute; background-image: var(--mobile-navbox-linear-gradient); height: 100%; width: 2.5em; top: 0; right: 0; pointer-events: none; } @media screen and (min-width: 720px) { .navbox-list::after { display: none; } } .navbox-list.navbox-parent { border-bottom: 0; padding: 0; } .navbox-list.navbox-parent::after { display: none; } .navbox-group .navbox-group .navbox-group-title { background-color: var(--body-light); padding: 0 0.85em 0 1.7em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group-title { padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-list ul { padding-left: 1.7em; } .navbox-group .navbox-group .navbox-list li { margin-bottom: 0; } .navbox-group .navbox-group .navbox-list li:first-child { margin-left: 0; } .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 0.85em; } .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0.5em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0; } } .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: transparent; padding-left: 2.55em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: var(--mobile-navbox-wide-bg-color); padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-group .navbox-list ul { padding-left: 2.55em; } .navbox-group .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 1.7em; } @keyframes slide-up { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } } .mainpage-header { margin: 2em 1em 0; } @media only screen and (max-width: 1000px) { .mainpage-header .header-intro h1 { text-align: center; font-size: 1.8em; } .mainpage-header .header-intro p { font-size: 1em; } } .mainpage-body .tile-row { width: inherit; } .mainpage-left .tile { padding: 2.5em 1.75em 2em; } .mainpage-left .tile h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-left .tile-halves h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-recent-updates { padding: 1.5em 1em 2.5em; } .mainpage-recent-updates::before { content: 'Recent updates'; display: block; margin-left: 1.5em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 4; } .mainpage-recent-updates .tile-halves { display: inline-block; width: 100%; white-space: initial; flex: unset; } .mainpage-recent-updates .tile-halves:nth-child(1) { animation: 0.9s 0.2s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(2) { animation: 0.9s 0.4s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(3) { animation: 0.9s 0.6s both slide-up; } .mainpage-recent-updates .tile-top { height: 9em; overflow: hidden; } .mainpage-recent-updates .tile-bottom { padding-bottom: 0.5rem; } .mainpage-recent-updates .byline { margin: 0; } .mainpage-recent-updates .byline + h2 { margin: 0.025em 0 0; padding: 0; } @media only screen and (max-width: 720px) { .mainpage-recent-updates::before { text-align: center; margin: 0; grid-column: auto; } } .mainpage-contents { background: var(--body-mid); padding: 55px 1em 2em 2.5em; overflow-x: auto; grid-template-columns: repeat(6, 1fr) !important; position: relative; scroll-snap-align: center; } .mainpage-contents::before { content: 'Explore'; margin: 1em; position: absolute; top: 0; color: inherit; font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 6; } .mainpage-contents .tile-halves { border: none; background: none; box-shadow: none; width: 200px; } .mainpage-contents .tile-top { padding: 0; height: initial; } .mainpage-contents .tile-bottom { border: none; } .mainpage-contents h2 { width: 100%; } @media only screen and (max-width: 1000px) { .mainpage-skills .tile-top ul { margin: 0; } } .mainpage-wikinews::before { content: 'From the wiki'; margin-left: 0.75em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; } .mainpage-social { border: none; margin-bottom: 0; } .mainpage-social .tile-top { display: flex; align-items: center; justify-content: center; padding: 1em 2em; min-height: 70px; } .mainpage-social .tile-top .social-icon { float: left; margin: 0 1em 0 -1em; width: 60px; text-align: center; } .mainpage-social .tile-top .social-header { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0; } .mainpage-social .tile-top .social-tagline { color: rgba(255, 255, 255, 0.9); margin: 0; } .mainpage-social .tile-bottom { border: none; padding: 1em 2em; } .mainpage-social .tile-bottom p { color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; color: #fff; font-size: 0.9em; text-align: center; margin: 0; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .wikitable { background: none; box-shadow: none; } .wikitable tbody { background: var(--body-light); } .toc { background-color: var(--body-light); border-color: var(--body-border); } #filetoc li { display: inline; padding-right: 2em; } .mw-dismissable-notice-body { margin: 0; } .mw-dismissable-notice-body .mw-dismissable-notice-close-parent { border-radius: 0 !important; font-size: 0.75em; } :root { --thumb-image-background: var(--body-light); --thumb-caption-background: var(--body-mid); } .content .thumbinner { background-color: var(--thumb-bg); } .content .thumbimage { border: 1px solid transparent; border-bottom: none; } .content .thumbcaption { margin: 0; padding: 4px 6px !important; color: inherit; background: var(--thumb-caption-bg); } .content table.messagebox { margin: 0.5em auto; } .content table a > img { max-width: inherit !important; height: inherit !important; } .content .infobox a > img { max-width: 100% !important; height: auto !important; } .content .infobox-bonuses a > img { max-width: inherit !important; height: inherit !important; } 1c209fbd5c21db419149134cacb74655aaa7e1ad Crenopolis 0 75 1133 695 2024-03-24T04:35:58Z Knox 49 wikitext text/x-wiki '''Crenopolis''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. Players require access to this location to unlock [[trading]], exclusive armour dyes, and name changes. {{Premium Pass}} [[Category:Locations]] 4c618ac3e923e47e9ca92df0ebd116db1ea523c0 User:Mercifull 2 653 1134 2024-03-24T09:59:28Z Mercifull 50 Created page with "Just someone who played "the other game" for more than 2 decades and become disenfranchised." wikitext text/x-wiki Just someone who played "the other game" for more than 2 decades and become disenfranchised. adb86de926fffbc7d1919b328a0a423be081eea2 Fenforge 0 129 1135 337 2024-03-24T10:01:07Z Mercifull 50 wikitext text/x-wiki [[File:Fenforge logo.png|left]] '''Fenforge''' is a cross-platform game engine that has been in continuous development by [[Fen Research]] since May [[2010]]. First used to develop ''Solstrike'' (2014) and ''Iona's Toybox'' (2021), ''[[Brighter Shores]]'' is the third game to use this engine. The engine is based on a privately developed programming language, and designed to be flexible general-purpose engine, allowing programmers to make different types of games relatively quickly. == Other games using Fenforge == {| class="wikitable sortable" |- ! Release date !! Name !! Image |- | || Solstrike || [[File:solstrike.png|300px]] |- | || Iona's Toybox || [[File:Ionas Toybox.png|300px]] |} [[Category:Mechanics]] [[Category:Fen Research]] ae234be726d955db8f091b37f92bd52bbc4c26d7 2010 0 502 1136 860 2024-03-24T10:17:39Z ToofleBerry 6 wikitext text/x-wiki '''2010''' is the year of formation of [[Fen Research]]. * [[3 September]] - Fen Research was founded<ref>https://web.archive.org/web/20111201004716/http://www.fenresearch.com:80/</ref> ==References== <references/> {{Timeline}} 2cc4ddf9d172b0c9c0bcc5c5a0d240ddfec593f1 1147 1136 2024-03-24T10:32:42Z ToofleBerry 6 wikitext text/x-wiki '''2010''' is the year of formation of [[Fen Research]]. * [[14 May]] - [https://fenresearch.com/ https://fenresearch.com/] was registered. * [[14 May]] - [https://fenforge.com/ https://fenforge.com/] was registered. * [[3 September]] - Fen Research was founded.<ref>https://web.archive.org/web/20111201004716/http://www.fenresearch.com:80/</ref> ==References== <references/> {{Timeline}} d4797e78b5e30c76a231b55294eeabcb42372e94 2011 0 654 1137 2024-03-24T10:22:57Z ToofleBerry 6 Created page with "'''2011'''. * [[16 September]] - The FenResearch Twitter account was created.<ref name="fenresearch.com20111201">https://web.archive.org/web/20111201004716/http://www.fenresearch.com:80/</ref> * [[19 September]] - Two job vacancies were posted, one for a sprite artist, one for a software/games developer.<ref name="fenresearch.com20111201"/> * [[10 October]] - The sprite artist vacancy was fulfilled by Greg.<ref name="fenresearch.com20111201"/> ==References== <reference..." wikitext text/x-wiki '''2011'''. * [[16 September]] - The FenResearch Twitter account was created.<ref name="fenresearch.com20111201">https://web.archive.org/web/20111201004716/http://www.fenresearch.com:80/</ref> * [[19 September]] - Two job vacancies were posted, one for a sprite artist, one for a software/games developer.<ref name="fenresearch.com20111201"/> * [[10 October]] - The sprite artist vacancy was fulfilled by Greg.<ref name="fenresearch.com20111201"/> ==References== <references/> {{Timeline}} 0a573057ed310719912b39f8ce8797879a6143dc 1145 1137 2024-03-24T10:26:10Z ToofleBerry 6 wikitext text/x-wiki '''2011'''. * [[16 September]] - The FenResearch Twitter account was created.<ref name="fenresearch.com20111201">https://web.archive.org/web/20111201004716/http://www.fenresearch.com:80/</ref> * [[19 September]] - Two job vacancies were posted, one for a sprite artist, one for a software/games developer.<ref name="fenresearch.com20111201"/> * [[10 October]] - The sprite artist vacancy was fulfilled by Greg.<ref name="fenresearch.com20111201"/> * [[12 December]] - The software/games developer vacancy was fulfilled by Andy.<ref nam=e"fenresearch.com20120328">https://web.archive.org/web/20120328014925/http://www.fenresearch.com/</ref> ==References== <references/> {{Timeline}} 8ae816cc13cf1221197000106674e70e68221f31 1146 1145 2024-03-24T10:26:17Z ToofleBerry 6 wikitext text/x-wiki '''2011'''. * [[16 September]] - The FenResearch Twitter account was created.<ref name="fenresearch.com20111201">https://web.archive.org/web/20111201004716/http://www.fenresearch.com:80/</ref> * [[19 September]] - Two job vacancies were posted, one for a sprite artist, one for a software/games developer.<ref name="fenresearch.com20111201"/> * [[10 October]] - The sprite artist vacancy was fulfilled by Greg.<ref name="fenresearch.com20111201"/> * [[12 December]] - The software/games developer vacancy was fulfilled by Andy.<ref name="fenresearch.com20120328">https://web.archive.org/web/20120328014925/http://www.fenresearch.com/</ref> ==References== <references/> {{Timeline}} d4df5be57b11f802e62a60dfb8baafc7717cd512 Template:Timeline 10 490 1138 858 2024-03-24T10:23:11Z ToofleBerry 6 wikitext text/x-wiki {{Navbox |name = Timeline |title = ''Brighter Shores'' timeline |gtitle1 = 2010s |group1 = * [[2010]] * [[2011]] |gtitle2 = 2020s |group2 = * [[2024]] |gtitle3 = Other |group3 = * [[Upcoming updates]] * [[Hidden updates]] * [[:Category:Dates in Brighter Shores|Dates in Brighter Shores]] }}{{Ctg|Timeline}} 4900e36acf2e13a8c4de7474a6375b23c09188a1 1149 1138 2024-03-24T10:35:29Z ToofleBerry 6 wikitext text/x-wiki {{Navbox |name = Timeline |title = ''Brighter Shores'' timeline |gtitle1 = 2010s |group1 = * [[2010]] * [[2011]] * [[2012]] |gtitle2 = 2020s |group2 = * [[2024]] |gtitle3 = Other |group3 = * [[Upcoming updates]] * [[Hidden updates]] * [[:Category:Dates in Brighter Shores|Dates in Brighter Shores]] }}{{Ctg|Timeline}} 9b09473c095801179c33fe33edb722048ec421c8 1151 1149 2024-03-24T10:37:23Z ToofleBerry 6 wikitext text/x-wiki {{Navbox |name = Timeline |title = ''Brighter Shores'' timeline |gtitle1 = 2010s |group1 = * [[2010]] * [[2011]] * [[2012]] |gtitle2 = 2020s |group2 = * [[2020]] * [[2024]] |gtitle3 = Other |group3 = * [[Upcoming updates]] * [[Hidden updates]] * [[:Category:Dates in Brighter Shores|Dates in Brighter Shores]] }}{{Ctg|Timeline}} b7ef194db5e3a58728cb0dec54779e28501adb03 Coins 0 441 1139 707 2024-03-24T10:23:51Z InvalidCards 4 Coins: Explained wikitext text/x-wiki '''Coins''' are the currency of [[Brighter Shores]]. They come in three types: * [[File:Gold coin.png|18px]] Gold coins * [[File:Silver coin.png|18px]] Silver coins * [[File:Bronze coin.png|18px]] Bronze coins The three types are not separate currencies; there are 1,000 bronze coins to a silver coin, and 1,000 silver coins to a gold coin (or 1,000,000 bronze coins to a gold coin).<ref>https://web.archive.org/web/20240324102045/https://twitter.com/AndrewCGower/status/1771788649589289317</ref> ==References== {{Reflist}} [[Category:Items]] 9e76177cb16a4521c86f9397bb20a2ee853e1ecd 1140 1139 2024-03-24T10:24:29Z InvalidCards 4 Missed the part where it said copper wikitext text/x-wiki '''Coins''' are the currency of [[Brighter Shores]]. They come in three types: * [[File:Gold coin.png|18px]] Gold coins * [[File:Silver coin.png|18px]] Silver coins * [[File:Bronze coin.png|18px]] Copper coins The three types are not separate currencies; there are 1,000 copper coins to a silver coin, and 1,000 silver coins to a gold coin (or 1,000,000 copper coins to a gold coin).<ref>https://web.archive.org/web/20240324102045/https://twitter.com/AndrewCGower/status/1771788649589289317</ref> ==References== {{Reflist}} [[Category:Items]] 207adf2bb483b05d97d98b549d7839197f139a3a 1144 1140 2024-03-24T10:25:31Z InvalidCards 4 File rename wikitext text/x-wiki '''Coins''' are the currency of [[Brighter Shores]]. They come in three types: * [[File:Gold coin.png|18px]] Gold coins * [[File:Silver coin.png|18px]] Silver coins * [[File:Copper coin.png|18px]] Copper coins The three types are not separate currencies; there are 1,000 copper coins to a silver coin, and 1,000 silver coins to a gold coin (or 1,000,000 copper coins to a gold coin).<ref>https://web.archive.org/web/20240324102045/https://twitter.com/AndrewCGower/status/1771788649589289317</ref> ==References== {{Reflist}} [[Category:Items]] e5c4fdedd8bddeac1528296bda4a7a71bbd9d1d5 File:Fen logo 6.png 6 655 1141 2024-03-24T10:24:43Z ToofleBerry 6 The Fen Research logo on 28 March [[2012]]; obtained from https://web.archive.org/web/20120328015000im_/http://www.fenresearch.com/_/rsrc/1316441752680/home/fen%20logo%206.png?height=200&width=200. wikitext text/x-wiki == Summary == The Fen Research logo on 28 March [[2012]]; obtained from https://web.archive.org/web/20120328015000im_/http://www.fenresearch.com/_/rsrc/1316441752680/home/fen%20logo%206.png?height=200&width=200. f8693b27a14fbbe66049edde44b8cab09963c43e File:Copper coin.png 6 439 1142 705 2024-03-24T10:24:51Z InvalidCards 4 InvalidCards moved page [[File:Bronze coin.png]] to [[File:Copper coin.png]] without leaving a redirect: As official a name as we'll get atm wikitext text/x-wiki Terrible quality icons of the coins seen in the "Choose a slot" screen from Andrew's Twitter be204519bbf95d7ba9ff391ec9c6af2f1ea796e1 Template:Nutshell 10 485 1143 840 2024-03-24T10:25:19Z InvalidCards 4 File rename wikitext text/x-wiki {{MessageBox |img = [[File:Copper coin.png|center|link=]] |{{{title|This page}}} in a nutshell: |{{#if:{{{2|}}} |*{{{1}}} *{{{2}}}{{#if:{{{3|}}}| *{{{3}}} }}|{{{1}}}}} }}<noinclude>{{/doc}}</noinclude> 6fd94f2dddb493e8cf11afe4e9db9c44b83a8fce 2012 0 656 1148 2024-03-24T10:35:20Z ToofleBerry 6 Created page with "'''2012'''. * [[13 March]] - [https://solstrike.com/ https://solstrike.com/], related to the first game developed using [[Fenforge]], was registered. ==References== <references/> {{Timeline}}" wikitext text/x-wiki '''2012'''. * [[13 March]] - [https://solstrike.com/ https://solstrike.com/], related to the first game developed using [[Fenforge]], was registered. ==References== <references/> {{Timeline}} 8262b5df63c94506de67485f38bed8eccc162149 2020 0 657 1150 2024-03-24T10:37:12Z ToofleBerry 6 Created page with "'''2020'''. * [[29 April]] - [https://ionastoybox.com/ https://ionastoybox.com/], related to the second game developed using [[Fenforge]], was registered. ==References== <references/> {{Timeline}}" wikitext text/x-wiki '''2020'''. * [[29 April]] - [https://ionastoybox.com/ https://ionastoybox.com/], related to the second game developed using [[Fenforge]], was registered. ==References== <references/> {{Timeline}} 594ca8ed713e74d705fda7f389d8ef984aafdf4f 2014 0 658 1152 2024-03-24T10:42:27Z ToofleBerry 6 Created page with "'''2014'''. * Between 4 April and 28 April - Originally intended as a test and demo of the Fenforge engine, the early access version of Solstrike, the first game developed using [[Fenforge]], was made available online<ref>https://web.archive.org/web/20140428211151/http://www.solstrike.com/#information</ref>. ==References== <references/> {{Timeline}}" wikitext text/x-wiki '''2014'''. * Between 4 April and 28 April - Originally intended as a test and demo of the Fenforge engine, the early access version of Solstrike, the first game developed using [[Fenforge]], was made available online<ref>https://web.archive.org/web/20140428211151/http://www.solstrike.com/#information</ref>. ==References== <references/> {{Timeline}} eca49752515a9612eba663f8dff009a85505e027 1155 1152 2024-03-24T10:52:57Z ToofleBerry 6 wikitext text/x-wiki '''2014'''. * 5 February - A patent was filed for the client-server interaction in the [[Fenforge]] engine<ref name="patent">https://patents.google.com/patent/US9426259B2/</ref>. * Between 4 April and 28 April - Originally intended as a test and demo of the Fenforge engine, the early access version of Solstrike, the first game developed using [[Fenforge]], was made available online<ref>https://web.archive.org/web/20140428211151/http://www.solstrike.com/#information</ref>. ==References== <references/> {{Timeline}} 8f29013358bba14ed85a3949914cb7a9ccda047a 1156 1155 2024-03-24T10:53:07Z ToofleBerry 6 wikitext text/x-wiki '''2014'''. * [[5 February]] - A patent was filed for the client-server interaction in the [[Fenforge]] engine<ref name="patent">https://patents.google.com/patent/US9426259B2/</ref>. * Between 4 April and 28 April - Originally intended as a test and demo of the Fenforge engine, the early access version of Solstrike, the first game developed using [[Fenforge]], was made available online<ref>https://web.archive.org/web/20140428211151/http://www.solstrike.com/#information</ref>. ==References== <references/> {{Timeline}} 670e27811370a8726796a761c749ec373394831c 2010 0 502 1153 1147 2024-03-24T10:47:49Z ToofleBerry 6 wikitext text/x-wiki '''2010''' is the year of formation of [[Fen Research]]. * [[14 May]] - [https://fenresearch.com/ https://fenresearch.com/] was registered. * [[14 May]] - [https://fenforge.com/ https://fenforge.com/] was registered. * [[16 June]] - Fen Research Ltd. was incorporated as a private company<ref>https://find-and-update.company-information.service.gov.uk/company/07285955</ref>. * [[3 September]] - Fen Research was founded.<ref>https://web.archive.org/web/20111201004716/http://www.fenresearch.com:80/</ref> ==References== <references/> {{Timeline}} ff398c388da44b1b670c8c6596355123faeb1a21 Fenforge 0 129 1154 1135 2024-03-24T10:51:47Z ToofleBerry 6 wikitext text/x-wiki [[File:Fenforge logo.png|left]] '''Fenforge''' is a cross-platform game engine that has been in continuous development by [[Fen Research]] since May [[2010]]. First used to develop ''Solstrike'' (2014) and ''Iona's Toybox'' (2021), ''[[Brighter Shores]]'' is the third game to use this engine. The engine is based on a privately developed programming language, and designed to be flexible general-purpose engine, allowing programmers to make different types of games relatively quickly. == Other games using Fenforge == {| class="wikitable sortable" |- ! Release date !! Name !! Image |- | || Solstrike || [[File:solstrike.png|300px]] |- | || Iona's Toybox || [[File:Ionas Toybox.png|300px]] |} == Technical details == The inner workings of the Fenforge engine are described in patent US9426259B2<ref name="patent">https://patents.google.com/patent/US9426259B2/</ref>. ==References == <references /> [[Category:Mechanics]] [[Category:Fen Research]] c45df85f7842bd5352fc6bd00dd5a3124cd00fb2 2016 0 659 1157 2024-03-24T10:53:37Z ToofleBerry 6 Created page with "'''2016'''. * [[23 August]] - The patent for the client-server interaction in the [[Fenforge]] engine was granted<ref name="patent">https://patents.google.com/patent/US9426259B2/</ref>. ==References== <references/> {{Timeline}}" wikitext text/x-wiki '''2016'''. * [[23 August]] - The patent for the client-server interaction in the [[Fenforge]] engine was granted<ref name="patent">https://patents.google.com/patent/US9426259B2/</ref>. ==References== <references/> {{Timeline}} 03e29ff1c8fd548bad81be712c19a3c15c2d77a7 Template:Timeline 10 490 1158 1151 2024-03-24T10:53:56Z ToofleBerry 6 wikitext text/x-wiki {{Navbox |name = Timeline |title = ''Brighter Shores'' timeline |gtitle1 = 2010s |group1 = * [[2010]] * [[2011]] * [[2012]] * [[2013]] * [[2014]] * [[2015]] * [[2016]] |gtitle2 = 2020s |group2 = * [[2020]] * [[2024]] |gtitle3 = Other |group3 = * [[Upcoming updates]] * [[Hidden updates]] * [[:Category:Dates in Brighter Shores|Dates in Brighter Shores]] }}{{Ctg|Timeline}} 8644aacf82284491a1e4c8d49b3c52b824ea16a4 Professions 0 56 1159 1119 2024-03-24T11:48:00Z Pottso 41 Spelling mistake wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. Most professions can either be trained by the player actively playing the game, or passively while the game is closed. As the player progresses through the game, more professions will become available for the player to learn. Players aren't limited to one profession at a time; they can utilise multiple at once.{{CiteGeneral|url=https://www.gamesradar.com/runescape-creator-answers-our-biggest-questions-about-his-new-mmo-brighter-shores-classes-professions-monetization-and-a-ttrpg-open-world/|title=RuneScape creator answers our biggest questions about his new MMO Brighter Shores: classes, professions, monetization, and a TTRPG open world|author=Austin Wood|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/AxMwI|archivedate=23 March 2024|name=griv}} ==Passive training== Unlike other similar MMOs, players can continue to perform certain profession-related activities while logged out of the game. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery mode="packed" heights="160"> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> ==References== {{Reflist}} {{Professions}} {{Mechanics}} 6887a1de8b6bfca8c132ed17404908f6ef190b91 1187 1159 2024-03-24T12:46:54Z Habblet 11 /* List of professions */ wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. Most professions can either be trained by the player actively playing the game, or passively while the game is closed. As the player progresses through the game, more professions will become available for the player to learn. Players aren't limited to one profession at a time; they can utilise multiple at once.{{CiteGeneral|url=https://www.gamesradar.com/runescape-creator-answers-our-biggest-questions-about-his-new-mmo-brighter-shores-classes-professions-monetization-and-a-ttrpg-open-world/|title=RuneScape creator answers our biggest questions about his new MMO Brighter Shores: classes, professions, monetization, and a TTRPG open world|author=Austin Wood|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/AxMwI|archivedate=23 March 2024|name=griv}} ==Passive training== Unlike other similar MMOs, players can continue to perform certain profession-related activities while logged out of the game. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | [[File:Woodcutter icon.png|30px|link=Woodcutter]] || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery mode="packed" heights="160"> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> ==References== {{Reflist}} {{Professions}} {{Mechanics}} 3c97f64637e90758054390831225cbd0aa748724 Category:Needs image 14 660 1160 2024-03-24T12:21:53Z Habblet 11 Created page with "{{Categoryheader|images|that need an image added}} {{Hidden category}} __HIDDENCAT__ [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__" wikitext text/x-wiki {{Categoryheader|images|that need an image added}} {{Hidden category}} __HIDDENCAT__ [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__ 5ccc0768a0d449c8f6442ba36502c8b5544b87db Template:Infobox Profession 10 661 1161 2024-03-24T12:23:43Z Habblet 11 Created page with "{| class="wikitable infobox-profession" style="float:right" ! colspan="2" | {{{name|{{PAGENAME}}}}} |- | colspan="2" style="text-align:center" | {{{image|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}}} |- ! Release date | {{{release|Q3 [[2024]]}}} |}{{Mainonly|[[Category:Professions]]}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {| class="wikitable infobox-profession" style="float:right" ! colspan="2" | {{{name|{{PAGENAME}}}}} |- | colspan="2" style="text-align:center" | {{{image|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}}} |- ! Release date | {{{release|Q3 [[2024]]}}} |}{{Mainonly|[[Category:Professions]]}}<noinclude>{{/doc}}</noinclude> 5492a2958a7ae1fdc6e2bcaeaa1d1821c1367087 Fisher 0 58 1162 354 2024-03-24T12:24:51Z Habblet 11 wikitext text/x-wiki {{Infobox Profession |name = Fisher |image = [[File:Profession fisher.png|50px]] }} [[File:Fisher.jpg|thumb|right|A preview of a player fishing.]] '''Fisher''' is a type of [[professions|profession]] which specialises in catching [[fish]]. {{Professions}} 991b5346d95ac0bd48f29f4716bf2d6c6f6fc13a Forager 0 59 1163 1014 2024-03-24T12:25:16Z Habblet 11 wikitext text/x-wiki {{Infobox Profession |name = Forager |image = [[File:Profession forager.png|50px]] }} [[File:Foraging.jpg|thumb|right|Some players foraging.]] '''Forager''' is a type of [[professions|profession]]. {{Professions}} a87138592d09d1c01520137e7606139070f1e158 1191 1163 2024-03-24T12:48:58Z Habblet 11 wikitext text/x-wiki {{Infobox Profession |name = Forager |image = [[File:Profession forager.png|50px]] }} [[File:Foraging.jpg|thumb|right|Some players foraging.]] [[File:Foraging 2.jpg|thumb|right|A player foraging.]] '''Forager''' is a type of [[Professions|profession]]. {{Professions}} a5756815eea8098542a41da15980d13a665aa05a Chef 0 60 1164 400 2024-03-24T12:26:14Z Habblet 11 wikitext text/x-wiki {{Infobox Profession |name = Chef }} [[File:Chef.jpg|thumb|right|A player cooking [[basic bacon]].]] '''Chef''' is a type of [[professions|profession]] which allows the [[player]] to [[cooking|cook]] many different [[food]] items. {{Professions}} 0b70eb2f19ae328660148d3e6e9c4da4e0e38e2e Category:Profession icons 14 662 1165 2024-03-24T12:30:42Z Habblet 11 Created page with "{{Categoryheader|images|[[Professions|profession]] icons||}} [[Category:Professions]]" wikitext text/x-wiki {{Categoryheader|images|[[Professions|profession]] icons||}} [[Category:Professions]] fdd647b1d3f4406f6b69d5bf44f27e40b49e1a4d File:Woodcutter icon.png 6 663 1166 2024-03-24T12:31:35Z Habblet 11 [[Category:Profession icons]] wikitext text/x-wiki == Summary == [[Category:Profession icons]] 851da23e8cb4cc240ac0babb8e6c15c813c64cda MediaWiki:Minerva.less/mainpage.less 8 421 1167 1131 2024-03-24T12:31:44Z Merds 25 less less /* =================== MAIN PAGE =================== */ // preview the mobile main page at <https://brightershoreswiki.org/?useformat=mobile> /* =================== variables =================== */ @mp-text-light: fade( @white, 90% ); @mp-gutter-width: .9rem; /* =================== mixins =================== */ .uppercase-heading(@text-color: var(--byline-color)) { color: @text-color; font-weight: bold; text-transform: uppercase; letter-spacing: .025em; } @keyframes slide-up { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } } /* ==================== general styles ==================== */ .mainpage-header { margin: 2em 1em 0; // reduce margins .header-intro { @media only screen and (max-width: @width-breakpoint-desktop) { h1 { text-align: center; font-size: 1.8em; } p { font-size: 1em; // reset from 1.1m } } } } .mainpage-body { .tile-row { // common does width: 100% width: inherit; } } /* remove this when we get a 6th thing to add on the mainpage "events" (this counteracts the flex on desktop)*/ .mainpage-contents.tile-row { display: inherit; } /* remove until above this line */ .mainpage-left { .tile { padding: 2.5em 1.75em 2em; h2 { padding: 0; margin: .65em .5em; } } .tile-halves { h2 { padding: 0; margin: .65em .5em; } } } /* ============================= section-specific styles ============================= */ /* -------------------- recent updates -------------------- */ .mainpage-recent-updates { padding: 1.5em 1em 2.5em; &::before { content: 'Recent updates'; display: block; margin-left: 1.5em; .uppercase-heading(); grid-column: ~"1 / 4"; } .tile-halves { display: inline-block; width: 100%; white-space: initial; flex: unset; &:nth-child(1) { animation: .9s .2s both slide-up; } &:nth-child(2) { animation: .9s .4s both slide-up; } &:nth-child(3) { animation: .9s .6s both slide-up; } } .tile-top { height: 9em; overflow: hidden; } .tile-bottom { padding-bottom: .5rem; } .byline { margin: 0; & + h2 { margin: .025em 0 0; padding: 0; } } // center recent updates for smaller widths @media only screen and (max-width: @width-breakpoint-tablet) { &::before { text-align: center; margin: 0; grid-column: auto; } } } /* -------------------- wiki contents -------------------- */ .mainpage-contents { background: var(--body-mid); padding: 55px 1em 2em 2.5em; overflow-x: auto; grid-template-columns: repeat(6, 1fr) !important; // shouldnt break into two position: relative; scroll-snap-align: center; &::before { content: 'Explore'; margin: 1em; position: absolute; top: 0; .uppercase-heading(@text-color: inherit); grid-column: ~"1 / 6"; } .tile-halves { border: none; background: none; box-shadow: none; width: 200px; } .tile-top { padding: 0; height: initial; } .tile-bottom { border: none; } h2 { width: 100%; } } /* -------------------- skills -------------------- */ .mainpage-skills .tile-top ul { @media only screen and (max-width: @width-breakpoint-desktop) { margin: 0; } } /* -------------------- wiki news -------------------- */ .mainpage-wikinews { &::before { content: 'From the wiki'; margin-left: .75em; .uppercase-heading(); } } /* -------------------- social -------------------- */ .mainpage-social { border: none; margin-bottom: 0; .tile-top { display: flex; align-items: center; justify-content: center; padding: 1em 2em; min-height: 70px; // not in em because the server icon is a fixed size .social-icon { float: left; margin: 0 1em 0 -1em; width: 60px; text-align: center; } .social-header { color: @white; font-weight: bold; font-size: 1.25em; margin: 0; } .social-tagline { color: @mp-text-light; margin: 0; } } .tile-bottom { border: none; padding: 1em 2em; p { .uppercase-heading(); color: @white; font-size: .9em; text-align: center; margin: 0; } } // Discord colors &.mainpage-discord { .tile-top { background: @discord-bg; } .tile-bottom { background: @discord-bg-dark; } } // X (Twitter) colors &.mainpage-twitter { .tile-top { background: @twitter-bg; } .tile-bottom { background: @twitter-bg-dark; } } } 6b03bf3e9ad92f5d827686de74406d50ec0dfd81 MediaWiki:Minerva.css 8 422 1168 1132 2024-03-24T12:31:49Z Merds 25 Updating CSS from [[MediaWiki:Minerva.less]] css text/css /* <pre> */ body { font-family: system-ui, -apple-system, Roboto, Helvetica, sans-serif; } @media all and (max-width: 320px) { body { font-size: 0.9em; } } .content { line-height: 1.7; } .pre-content h1, .content h1, .content h2 { font-weight: bold; } body { background: var(--body-background-color); color: var(--text-color); } select { color: var(--text-color); } a:not( [ href ] ) { color: inherit; } a.external, .mw-parser-output a.external { background-image: var(--external-icon); } blockquote { border-color: var(--body-mid); font-family: inherit; } .pre-content h1 { text-align: center; } .mw-parser-output h2:first-of-type { clear: both; } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .plainlist ol, .content .plainlist ul { padding: 0; } .content p { margin: 0.5em 0; } .content hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } .content kbd, .content samp { border: none; } .content code, .content pre { background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='%23000'%3E%3Cpath d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM3 8a5 5 0 1 0 10 0A5 5 0 1 0 3 8z'/%3E%3C/g%3E%3C/svg%3E"); --external-icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cg fill='%23906039'%3E%3Cpath d='M8.9 8.9H1.1V1.1h2.8V0H1.1C.5 0 0 .5 0 1.1v7.8C0 9.5.5 10 1.1 10h7.8c.6 0 1.1-.5 1.1-1.1V6.1H8.9v2.8z'/%3E%3Cpath d='M10 0H5.6l1.8 1.8L4.2 5l.8.8 3.2-3.2L10 4.4V0z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-center { background-color: transparent; } .header { border-top: none; } .header-container.header-chrome { background: var(--body-background-image) var(--body-background-color) no-repeat; background-color: var(--body-background-color); background-size: 900px; box-shadow: inset 0 -1px 3px rgba(0, 0, 0, 0.1); } .header-container .notification-count { border-radius: 50%; } .header-container .notification-count.notification-unseen { background: none; } .header-container .branding-box { opacity: 1; } .search-box { text-align: right; } .search-box .search { background-color: var(--search-box); border-color: var(--search-box); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .search-box .search::placeholder { color: var(--byline-color); } .client-nojs .search-box .search:focus, .search-overlay .search-box .search:focus { border-color: var(--link-color); box-shadow: inset 0 0 0 1px var(--link-color), 0 1px 1px rgba(0, 0, 0, 0.05); } .mw-ui-background-icon-search { background-image: var(--searchbutton-icon); } .overlay { background: var(--body-main); } .overlay textarea { color: var(--text-color); } .overlay.search-overlay { background: var(--body-main); } .overlay.search-overlay .results, .overlay.search-overlay .search-feedback { background-color: var(--body-light); } .overlay.search-overlay .search-content { border-color: var(--body-mid); } .overlay .license { color: var(--base-text-color); } .overlay .panel { border-color: var(--sidebar); } .overlay .content-header { background-color: var(--body-light); border-color: transparent; } .overlay.overlay-loading { background: var(--ooui-window-background); } .overlay .overlay-content { background: var(--body-main); } .page-summary h2, .page-summary h3 { color: var(--text-color); } .page-list li, .topic-title-list li, .site-link-list li { border-color: var(--body-mid); } .overlay-enabled .overlay:not(.editor-overlay), .overlay-enabled #mw-mf-page-center { overflow-y: scroll; } .overlay-header-container, .overlay-footer-container { background-color: var(--body-background-color); border-color: transparent; } .editor-overlay .wikitext-editor { color: var(--text-color); } .editor-overlay .overlay-header { outline-color: transparent; } .editor-overlay .summary-request { color: var(--text-color); } .editor-overlay .editor-switcher { border: none; } .action-submit .mw-editnotice .action-edit .mw-editnotice, .action-submit .mw-editTools, .action-edit .mw-editTools, .action-submit .preview-limit-report-wrapper, .action-edit .preview-limit-report-wrapper, .action-submit .diff-otitle, .action-edit .diff-otitle, .action-submit .diff-ntitle, .action-edit .diff-ntitle, .action-submit #section_0, .action-edit #section_0, .action-submit #editpage-copywarn, .action-edit #editpage-copywarn, .action-submit #mw-anon-edit-warning, .action-edit #mw-anon-edit-warning { color: var(--byline-color); } .wikitext-editor { background-color: var(--body-main); } .ve-mobile-fakeToolbar { border: none; } .ve-mobile-fakeToolbar-container { background: var(--body-background-color); border: none; } .ve-mobile-fakeToolbar .mw-ui-icon-mf-spinner { border-color: transparent; } .ve-ui-targetToolbar-mobile .oo-ui-toolbar-tools > .ve-ui-toolbar-group-back { border-color: transparent; } .ve-ui-mobileContext { background-color: var(--body-light); border-color: var(--body-light); } .ve-ui-mobileContext .ve-ui-linearContextItem-body-action-wrapper { border-color: var(--body-border); } .ve-ui-linearContextItem-foot:not(:empty) { border-color: var(--body-border); } .ve-ui-mwSaveDialog-options { backgroubd-color: var(--body-light); border-color: var(--body-mid); } .page-actions-menu { border-color: var(--sidebar); } #language-selector { display: none; } .minerva__tab-container .minerva__tab { color: var(--text-color); } .minerva__tab-container .minerva__tab.new, .minerva__tab-container .minerva__tab.new:visited, .minerva__tab-container .minerva__tab.new:hover, .minerva__tab-container .minerva__tab.new:active { color: var(--redlink-color); } .minerva__tab-container .minerva__tab.selected { border-color: var(--body-border); } .heading-holder .tagline { color: var(--base-heading-color); } .minerva-footer { border-color: transparent; } .mw-footer > .post-content { margin-top: 32px; } .mw-footer > .post-content > .minerva-footer-logo { display: none; } .mw-footer .hlist li:after { color: var(--background-text-color); } .last-modified-bar { border-top: 1px solid; border-color: transparent; background: none; color: var(--text-color); } .last-modified-bar a, .last-modified-bar a:active, .last-modified-bar a:visited, .last-modified-bar .last-modified-text-accent { color: var(--background-text-color); } .last-modified-bar.active, .last-modified-bar.active:active, .last-modified-bar.active:visited, .last-modified-bar.active .last-modified-text-accent { color: #fff; } .mw-ui-icon-mf-expand-gray:not(.mw-ui-icon-mf-expand-invert):before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eexpand%3C/title%3E%3Cg fill='%2354595d'%3E%3Cpath d='M17.5 4.75l-7.5 7.5-7.5-7.5L1 6.25l9 9 9-9z'/%3E%3C/g%3E%3C/svg%3E"); } .toggle-list__list { background-color: var(--wikitable-bg); } .toggle-list-item__anchor:visited, .toggle-list-item__anchor:active { color: var(--base-text-color); } .toggle-list-item:hover { background: var(--wikitable-bg-lighter); } .toggle-list-item__label { color: var(--base-text-color); } .mw-ui-icon-wikimedia-search-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esearch%3C/title%3E%3Cg fill='white'%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 111.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 113 8a5 5 0 0110 0z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-menu-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Emenu%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M1 3v2h18V3zm0 8h18V9H1zm0 6h18v-2H1z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-bellOutline-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Ebell%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M11.5 2.19C14.09 2.86 16 5.2 16 8v6l2 2v1H2v-1l2-2V8c0-2.8 1.91-5.14 4.5-5.81V1.5C8.5.67 9.17 0 10 0s1.5.67 1.5 1.5v.69zM10 4C7.79 4 6 5.79 6 8v7h8V8c0-2.21-1.79-4-4-4zM8 18h4c0 1.1-.9 2-2 2s-2-.9-2-2z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-minerva-userAvatarOutline:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Euser avatar%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M10 8c1.7 0 3.06-1.35 3.06-3S11.7 2 10 2 6.94 3.35 6.94 5 8.3 8 10 8zm0 2c-2.8 0-5.06-2.24-5.06-5S7.2 0 10 0s5.06 2.24 5.06 5-2.26 5-5.06 5zm-7 8h14v-1.33c0-1.75-2.31-3.56-7-3.56s-7 1.81-7 3.56V18zm7-6.89c6.66 0 9 3.33 9 5.56V20H1v-3.33c0-2.23 2.34-5.56 9-5.56z'/%3E%3C/g%3E%3C/svg%3E%0A"); } @media all and (min-width: 1000px) { .mw-ui-icon-with-label-desktop, .mw-ui-icon-with-label-desktop:hover, .mw-ui-icon-with-label-desktop:focus, .mw-ui-icon-with-label-desktop:active, .mw-ui-icon-with-label-desktop:visited { color: var(--base-text-color) !important; } } .header-action .mw-ui-icon-mf-close-base20:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclose%3C/title%3E%3Cg fill='%23fff'%3E%3Cpath d='m4.3 2.9 12.8 12.8-1.4 1.4L2.9 4.3z'/%3E%3Cpath d='M17.1 4.3 4.3 17.1l-1.4-1.4L15.7 2.9z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-left { background-color: var(--body-background-color); } #mw-mf-page-left .secondary-action { border-left-color: var(--body-mid); } #mw-mf-page-left ul li { background-color: var(--body-main); border-color: var(--body-mid); } #mw-mf-page-left ul li a { color: var(--base-text-color); } #mw-mf-page-left ul li a:hover { box-shadow: inset 4px 0 0 0 var(--link-color); } #mw-mf-page-left ul.hlist li a { color: var(--background-link-color); } #mw-mf-page-left ul.hlist li a span { font-size: 0.8125rem; } .notifications-overlay.navigation-drawer { box-shadow: -1px 0 8px 0 rgba(0, 0, 0, 0.35); } .notifications-overlay .mw-echo-ui-actionMenuPopupWidget-menu { border: none; } .mw-ui-anchor.mw-ui-progressive, .mw-ui-anchor.mw-ui-progressive:active, .mw-ui-anchor.mw-ui-progressive:hover, .mw-ui-anchor.mw-ui-progressive:focus { color: var(--link-color); } .minerva-talk-full-page-button { background-color: var(--body-main); border-color: var(--body-dark); color: var(--link-color); } .minerva-talk-content-explained { border-color: var(--sidebar); color: var(--base-text-color); } .talk-overlay .comment .wikitext-editor { border-color: var(--body-border); } .client-js .skin-minerva--talk-simplified .section-heading { border-color: var(--sidebar); } .mw-notification a, .toast a { color: var(--link-color); } .drawer { background-color: var(--body-light); } .drawer.references-drawer { background-color: var(--body-light); color: var(--text-color); } .drawer.references-drawer a { color: var(--link-color); } .drawer.references-drawer .references-drawer__title { color: var(--text-color); } .drawer.references-drawer .mw-ui-icon::before { filter: brightness(0); } .cta-holder { background: var(--body-light); } .cta-holder .desc { color: var(--byline-color); } .mw-tag-marker { border-color: var(--body-border); } .oo-ui-toolGroup { background: var(--body-background-color); } .load-fail-msg { color: var(--text-color); } .load-fail-msg-link a { color: var(--link-color); } .image-carousel .image-loaded { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E%0A") repeat; } .image-details { background-color: var(--body-light); border-color: transparent; } @media all and (min-width: 720px) { .ns-special .pre-content { background-color: transparent; } .ns-special .mw-body { background: var(--body-main); } .ns-special .mw-body form { background: transparent; } } form.mw-mf-settings .oo-ui-fieldLayout, form.mw-mf-settings .oo-ui-fieldLayout:first-child { border-color: var(--body-mid); } .ns-special .content-header { border-bottom-color: var(--body-dark); } .action-history .mw-history-compareselectedversions { background-color: var(--body-main); } .action-history #pagehistory li:not(.selected) { border-bottom-color: var(--sidebar); } ul.mw-contributions-list li, ul.special li { border-color: var(--sidebar); } .page-list li > a:not(.mw-ui-icon-element), .topic-title-list li > a:not(.mw-ui-icon-element), .site-link-list li > a:not(.mw-ui-icon-element) { color: var(--byline-color); } .page-list.side-list .list-thumb, .topic-title-list.side-list .list-thumb, .site-link-list.side-list .list-thumb { color: var(--text-color); } .page-list .info, .topic-title-list .info, .site-link-list .info, .page-list .component, .topic-title-list .component, .site-link-list .component { color: var(--byline-color); } .mw-mf-user { color: var(--text-color); } .content .mw-index-pager-list-header { background-color: var(--body-mid); color: inherit; font-family: inherit; } .diff-editfont-monospace { font-family: monospace,monospace; } :root { --diff-deletedline-background: #fbc0ba; } .minoredit { background: var(--body-mid); } #mw-mf-diffview .mw-mf-diff-date { color: var(--byline-color); } #mw-mf-diffview .mw-diff-inline-deleted del, #mw-mf-diffview .mw-diff-inline-changed del { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-added ins, #mw-mf-diffview .mw-diff-inline-changed ins { background: var(--diff-addedline-background); color: var(--diff-addedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-moved { background: var(--diff-context-background); } #mw-mf-diffview #mw-mf-userinfo { background: var(--body-light); border-top-color: var(--body-border); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count { color: var(--text-color); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count div { color: var(--base-text-color); } .infobox { font-size: 85%; background-color: var(--body-light); border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); table-layout: fixed; } .content .infobox { display: table; } .content .infobox caption { display: table-caption; background: none; } .infobox .infobox-header { color: var(--infobox-text-color); font-size: 1.15em; background: var(--body-dark); padding: 0.5em 0; text-align: center; } .infobox .infobox-subheader { background: var(--body-dark); line-height: 2em; text-align: center; } .infobox .infobox-subheader a { color: var(--infobox-text-color); } .infobox th:not(.infobox-nested):not(.infobox-subheader):not(.infobox-header) { text-align: right; vertical-align: top; border-right: 2px solid var(--body-dark); padding: 0.2em 0.5em; } .infobox caption.infobox-caption { text-align: center; } .infobox td { padding: 0.25em 0.5em; line-height: 1.6em; } .infobox td.infobox-nested { padding: 0.25em 0; line-height: 1em; } .infobox .infobox-padding { height: 0.5em; padding: 0; border: 0; } .infobox .infobox-image { text-align: center; } .infobox .infobox-image.inventory-image { height: 32px; } .infobox .infobox-nested { text-align: center; } .infobox .infobox-nested + .infobox-nested { border-left: 2px solid var(--body-dark); } .infobox .infobox-cell-hidden { display: none; } .infobox .infobox-full-width-content { max-width: 300px; text-align: center; overflow-x: hidden; padding: 0; } .skill-info a[href$="?action=edit"] + a[href$="?action=edit"] { display: none; } .infobox-buttons { margin-top: 0.5em; text-align: center; } .infobox-bottom-links { display: none; } .advanced-data { display: none; } @media screen and (min-width: 720px) { .content table.infobox { float: right; margin-top: 0.5em; margin-left: 1em; width: 300px !important; } .content table.infobox.skill-info { float: none; margin: 0 0 1em 0; } } .multi-infobox { margin-top: 0.5em; margin-bottom: 2.5em; } .multi-infobox .tabber { margin: 0; } .multi-infobox .tabber .tabbernav { text-align: center; margin-left: 0; } .mw-body .multi-infobox .tabber .tabbertab { padding: 5px; } .multi-infobox table.infobox { margin: 0; } .multi-infobox .infobox-buttons { margin-top: 0; } @media screen and (min-width: 720px) { .multi-infobox { float: right; margin-left: 1em; width: 300px; } } .tile { padding: 1.5em 2em 1em; } .tile h2 { font-weight: 600; border: none; margin-top: 0.4em; } .tile o .byline + h2 { margin-top: -0.5em; } .tile-top { padding: 1.3rem 1.5rem 2rem; } .tile-bottom { padding: 1rem 1.5rem 2rem; } .tile-bottom.read-more { padding: 0; } .tile-bottom.read-more a { padding: 1em 1.75em; } :root { --mobile-navbox-wide-bg-color: #dcd3bf; --mobile-navbox-linear-gradient: linear-gradient(to right, rgba(255, 255, 255, 0), var(--body-main) 95%, var(--body-main)); } .navbox { border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); font-size: 0.85em; } .content .navbox ul { padding-left: 0; } .content .navbox ul li { margin-bottom: 0; } @media screen and (max-width: 719px) { .navbox td, .navbox th, .navbox tr, .navbox tbody, .navbox .navbox-subgroup { display: block; } } @media screen and (min-width: 720px) { .content table.navbox, .content .navbox table { width: 100% !important; } } .navbox .navbox-subgroup { margin: 0; } .navbox .navbar { display: none; } .navbox .plink-template, .navbox img { display: none; } .navbox-title { color: var(--text-color); background-color: var(--body-dark); font-size: 140%; text-align: center; padding: 0.25em 0.85em; } @media screen and (min-width: 720px) { .navbox-title { border-bottom: 1px solid var(--body-border); } } .navbox-group-title { background-color: var(--body-mid); text-align: left; padding: 0.2em 0.85em; } @media screen and (max-width: 719px) { .navbox-group-title { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } } @media screen and (min-width: 720px) { .navbox-group-title { border: 1px solid var(--body-border); border-width: 0 1px 1px 0; width: 12vw; } } .navbox-group-title-hidden { display: none; } .navbox-list { padding: 0; position: relative; } @media screen and (min-width: 720px) { .navbox-list { border-bottom: 1px solid var(--body-border); } } .navbox-list ul { display: flex; } @media screen and (max-width: 719px) { .navbox-list ul { white-space: nowrap; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; } } @media screen and (min-width: 720px) { .navbox-list ul { padding: 0.2em 0.85em 0.5em !important; flex-wrap: wrap; } } @media screen and (min-width: 720px) { .navbox-list[style*="center"] ul { justify-content: center; } } .navbox-list li { display: inline-flex; align-items: center; height: 3.5em; margin: 0 0 0 0.85em; } @media screen and (min-width: 720px) { .navbox-list li { height: 2.1em; } .navbox-list li:first-child { margin-left: 0; } } .navbox-list li + li::before { content: '•'; display: inline-block; white-space: pre-wrap; position: relative; left: -0.425em; color: var(--text-color); pointer-events: none; } .navbox-list li + li > a + a::before { display: none; } .navbox-list li:last-child { margin-right: 2em; } .navbox-list::after { content: ''; display: block; position: absolute; background-image: var(--mobile-navbox-linear-gradient); height: 100%; width: 2.5em; top: 0; right: 0; pointer-events: none; } @media screen and (min-width: 720px) { .navbox-list::after { display: none; } } .navbox-list.navbox-parent { border-bottom: 0; padding: 0; } .navbox-list.navbox-parent::after { display: none; } .navbox-group .navbox-group .navbox-group-title { background-color: var(--body-light); padding: 0 0.85em 0 1.7em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group-title { padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-list ul { padding-left: 1.7em; } .navbox-group .navbox-group .navbox-list li { margin-bottom: 0; } .navbox-group .navbox-group .navbox-list li:first-child { margin-left: 0; } .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 0.85em; } .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0.5em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0; } } .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: transparent; padding-left: 2.55em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: var(--mobile-navbox-wide-bg-color); padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-group .navbox-list ul { padding-left: 2.55em; } .navbox-group .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 1.7em; } @keyframes slide-up { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } } .mainpage-header { margin: 2em 1em 0; } @media only screen and (max-width: 1000px) { .mainpage-header .header-intro h1 { text-align: center; font-size: 1.8em; } .mainpage-header .header-intro p { font-size: 1em; } } .mainpage-body .tile-row { width: inherit; } .mainpage-contents.tile-row { display: inherit; } .mainpage-left .tile { padding: 2.5em 1.75em 2em; } .mainpage-left .tile h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-left .tile-halves h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-recent-updates { padding: 1.5em 1em 2.5em; } .mainpage-recent-updates::before { content: 'Recent updates'; display: block; margin-left: 1.5em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 4; } .mainpage-recent-updates .tile-halves { display: inline-block; width: 100%; white-space: initial; flex: unset; } .mainpage-recent-updates .tile-halves:nth-child(1) { animation: 0.9s 0.2s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(2) { animation: 0.9s 0.4s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(3) { animation: 0.9s 0.6s both slide-up; } .mainpage-recent-updates .tile-top { height: 9em; overflow: hidden; } .mainpage-recent-updates .tile-bottom { padding-bottom: 0.5rem; } .mainpage-recent-updates .byline { margin: 0; } .mainpage-recent-updates .byline + h2 { margin: 0.025em 0 0; padding: 0; } @media only screen and (max-width: 720px) { .mainpage-recent-updates::before { text-align: center; margin: 0; grid-column: auto; } } .mainpage-contents { background: var(--body-mid); padding: 55px 1em 2em 2.5em; overflow-x: auto; grid-template-columns: repeat(6, 1fr) !important; position: relative; scroll-snap-align: center; } .mainpage-contents::before { content: 'Explore'; margin: 1em; position: absolute; top: 0; color: inherit; font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 6; } .mainpage-contents .tile-halves { border: none; background: none; box-shadow: none; width: 200px; } .mainpage-contents .tile-top { padding: 0; height: initial; } .mainpage-contents .tile-bottom { border: none; } .mainpage-contents h2 { width: 100%; } @media only screen and (max-width: 1000px) { .mainpage-skills .tile-top ul { margin: 0; } } .mainpage-wikinews::before { content: 'From the wiki'; margin-left: 0.75em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; } .mainpage-social { border: none; margin-bottom: 0; } .mainpage-social .tile-top { display: flex; align-items: center; justify-content: center; padding: 1em 2em; min-height: 70px; } .mainpage-social .tile-top .social-icon { float: left; margin: 0 1em 0 -1em; width: 60px; text-align: center; } .mainpage-social .tile-top .social-header { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0; } .mainpage-social .tile-top .social-tagline { color: rgba(255, 255, 255, 0.9); margin: 0; } .mainpage-social .tile-bottom { border: none; padding: 1em 2em; } .mainpage-social .tile-bottom p { color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; color: #fff; font-size: 0.9em; text-align: center; margin: 0; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .wikitable { background: none; box-shadow: none; } .wikitable tbody { background: var(--body-light); } .toc { background-color: var(--body-light); border-color: var(--body-border); } #filetoc li { display: inline; padding-right: 2em; } .mw-dismissable-notice-body { margin: 0; } .mw-dismissable-notice-body .mw-dismissable-notice-close-parent { border-radius: 0 !important; font-size: 0.75em; } :root { --thumb-image-background: var(--body-light); --thumb-caption-background: var(--body-mid); } .content .thumbinner { background-color: var(--thumb-bg); } .content .thumbimage { border: 1px solid transparent; border-bottom: none; } .content .thumbcaption { margin: 0; padding: 4px 6px !important; color: inherit; background: var(--thumb-caption-bg); } .content table.messagebox { margin: 0.5em auto; } .content table a > img { max-width: inherit !important; height: inherit !important; } .content .infobox a > img { max-width: 100% !important; height: auto !important; } .content .infobox-bonuses a > img { max-width: inherit !important; height: inherit !important; } c63a5b636f4c570e4cf4ddd759ff212ba168057d File:Profession fisher.png 6 383 1169 626 2024-03-24T12:32:43Z Habblet 11 wikitext text/x-wiki [[Category:Profession icons]] 6a5f2a5fa97a42981d4ef0cf8edf478f22818750 File:Profession forager.png 6 417 1170 1093 2024-03-24T12:32:46Z Habblet 11 wikitext text/x-wiki [[Category:Profession icons]] 6a5f2a5fa97a42981d4ef0cf8edf478f22818750 Woodcutter 0 61 1171 361 2024-03-24T12:33:33Z Habblet 11 wikitext text/x-wiki {{Infobox Profession |name = Woodcutter |image = [[File:Woodcutter icon.png|50px]] }} [[File:Woodcutter.jpg|thumb|right|A player woodcutting.]] '''Woodcutter''' is a type of [[professions|profession]]. {{Professions}} d72a9b42e0ca03ab42b537a7f227aaa64ec63f16 Miner 0 62 1172 218 2024-03-24T12:33:47Z Habblet 11 wikitext text/x-wiki {{Infobox Profession |name = Miner }} '''Miner''' is a type of [[professions|profession]] specialising in collecting [[minerals]]. {{Professions}} 9cc331ac3cc089223cb7a51ff79a8f1329e91e89 Alchemist 0 63 1173 779 2024-03-24T12:34:07Z Habblet 11 wikitext text/x-wiki {{Infobox Profession |name = Alchemist }} [[File:Alchemist.jpg|thumb|right|A player practicing Alchemy.]] '''Alchemist''' is a type of [[professions|profession]]. {{Professions}} dc4852db754e1ea4ea8d1db58898d59e0df7e7e7 Stonemason 0 64 1174 220 2024-03-24T12:34:19Z Habblet 11 wikitext text/x-wiki {{Infobox Profession |name = Stonemason }} '''Stonemason''' is a type of [[professions|profession]]. {{Professions}} bd801740b1e9e3135ecc4e113490de54fe04d679 Merchant 0 65 1175 222 2024-03-24T12:34:29Z Habblet 11 wikitext text/x-wiki {{Infobox Profession |name = Merchant }} '''Merchant''' is a type of [[professions|profession]]. {{Professions}} 0861b6f47ec63a17d195f58803d2427491465feb Blacksmith 0 66 1176 387 2024-03-24T12:34:46Z Habblet 11 wikitext text/x-wiki {{Infobox Profession |name = Blacksmith }} [[File:Blacksmith.png|thumb|right|A player smithing.]] '''Blacksmith''' is a type of [[professions|profession]]. {{Professions}} da6c49e8d3bb669fbaeabea8edc0ff058e8d948b Template:Plink 10 664 1177 2024-03-24T12:35:57Z Habblet 11 Created page with "<includeonly><span class="plink-template">[[File:{{{pic|{{{1}}}}}}.png|link={{{1}}}]]</span>[[{{{1}}}|{{{txt|{{{1}}}}}}]]</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly><span class="plink-template">[[File:{{{pic|{{{1}}}}}}.png|link={{{1}}}]]</span>[[{{{1}}}|{{{txt|{{{1}}}}}}]]</includeonly><noinclude>{{/doc}}</noinclude> ce86163e3d39279f62a65e8271e3a62a9e981aa6 1178 1177 2024-03-24T12:41:14Z Habblet 11 size param wikitext text/x-wiki <includeonly><span class="plink-template">[[File:{{{pic|{{{1}}}}}}.png|link={{{1}}}{{#if:{{{size|}}}|{{!}}{{{size}}}px}}]]</span>[[{{{1}}}|{{{txt|{{{1}}}}}}]]</includeonly><noinclude>{{/doc}}</noinclude> 3e1e2b964f3c42360a8bcee3a2cf5c2ac1dc0467 Template:Edit button 10 665 1179 2024-03-24T12:41:32Z InvalidCards 4 Created page with "[{{fullurl:{{#if:{{{page|}}}|{{{page}}}|{{#if:{{{1|}}}|{{{1}}}|{{FULLPAGENAME}}}}}}|action=edit}} {{#if:{{{text|}}}|{{{text}}}|{{#if:{{{2|}}}|{{{2}}}|edit}}}}]<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki [{{fullurl:{{#if:{{{page|}}}|{{{page}}}|{{#if:{{{1|}}}|{{{1}}}|{{FULLPAGENAME}}}}}}|action=edit}} {{#if:{{{text|}}}|{{{text}}}|{{#if:{{{2|}}}|{{{2}}}|edit}}}}]<noinclude>{{/doc}}</noinclude> 6859ab77d83d6c5b5ff12f1d6ac0bcd7dc96b16b Template:Edit button/doc 10 666 1180 2024-03-24T12:41:52Z InvalidCards 4 Created page with "{{documentation}} Creates a link to edit a page. In lua modules, use [[Module:Edit button]]. ==Usage== <pre>{{Edit button}} {{Edit button|page name}} {{Edit button|page name|alt text}} {{Edit button|page=page name|text=alt text}} </pre> ;page name The named parameter <code>page</code> or the first unnamed parameter (<code>1</code>) can be used to set the page name. Include namespaces. By default, uses the current page. ;alt text The named parameter <code>text</code..." wikitext text/x-wiki {{documentation}} Creates a link to edit a page. In lua modules, use [[Module:Edit button]]. ==Usage== <pre>{{Edit button}} {{Edit button|page name}} {{Edit button|page name|alt text}} {{Edit button|page=page name|text=alt text}} </pre> ;page name The named parameter <code>page</code> or the first unnamed parameter (<code>1</code>) can be used to set the page name. Include namespaces. By default, uses the current page. ;alt text The named parameter <code>text</code> or the second unnamed parameter (<code>2</code>) can be used to set the link text. By default, uses <code>edit</code>. {{TemplateData|<templatedata> { "params": { "page": { "aliases": [ "1" ], "label": "Page name", "description": "The page name to link to. Include namespace.", "type": "wiki-page-name" }, "text": { "aliases": [ "2" ], "label": "Link text", "description": "The link text to display. Default edit.", "default": "edit" } }, "description": "Creates a link to a page.", "format": "inline" } </templatedata>}} <includeonly>[[Category:Transclusion templates]] [[Category:Link creating templates]]</includeonly> 6a710a5998fb67795f6c46f357f5b4d7b79a80ad Template:Plink/doc 10 667 1181 2024-03-24T12:43:31Z Habblet 11 Created page with "{{Documentation}} The '''picture link''' template creates an image and links it to the page as well as including text. This template is not intended to be commonly used in mainspace articles. It is primarily used in navboxes and tables to add images to help with navigation. In most other cases, pages should be linked with normal markup and without an image. ==Usage== <pre>{{plink|item|pic=file name|txt=text}}</pre> ==Examples== {|class="wikitable" |+ Examples !Code !..." wikitext text/x-wiki {{Documentation}} The '''picture link''' template creates an image and links it to the page as well as including text. This template is not intended to be commonly used in mainspace articles. It is primarily used in navboxes and tables to add images to help with navigation. In most other cases, pages should be linked with normal markup and without an image. ==Usage== <pre>{{plink|item|pic=file name|txt=text}}</pre> ==Examples== {|class="wikitable" |+ Examples !Code ! style="min-width:150px;" | Produces !Standard syntax |- |<code><nowiki>{{plink|Hammermage potion}}</nowiki></code> |{{plink|Hammermage potion}} |<code><nowiki>[[File:Hammermage potion.png|link=Hammermage potion]] [[Hammermage potion]]</nowiki></code> |- |<code><nowiki>{{plink|Hammermage potion|size=32}}</nowiki></code> |{{plink|Hammermage potion|size=32}} |<code><nowiki>[[File:Hammermage potion.png|32px|link=Hammermage potion]] [[Hammermage potion]]</nowiki></code> |- |<code><nowiki>{{plink|Health potion|pic=Hammermage potion}}</nowiki></code> |{{plink|Health potion|pic=Hammermage potion}} |<code><nowiki>[[File:Hammermage potion.png|link=Health potion]] [[Health potion]]</nowiki></code> |- |<code><nowiki>{{plink|Hammermage potion|txt=Potion}}</nowiki></code> |{{plink|Hammermage potion|txt=Potion}} |<code><nowiki>[[File:Hammermage potion.png|link=Hammermage potion]] [[Hammermage potion|Potion]]</nowiki></code> |- |<code><nowiki>{{plink|Health potion|pic=Hammermage potion|txt=Potion}}</nowiki></code> |{{plink|Health potion|pic=Hammermage potion|txt=Potion}} |<code><nowiki>[[File:Hammermage potion.png|link=Health potion]] [[Health potion|Potion]]</nowiki></code> |} ==Parameters== <templatedata> { "description": "The 'Picture Link' (plink) template is used to create item image + text links.", "params": { "1": { "label": "Item", "description": "The item to link to and display", "type": "wiki-page-name", "required": true }, "pic": { "label": "Picture", "description": "The name of the image file; do not include 'File:' or '.png'", "default": "First parameter", "type": "wiki-file-name" }, "txt": { "label": "Text override", "description": "Override the displayed link text.", "default": "First parameter", "type": "string" }, "size": { "label": "Size", "description": "Sets custom size (in px).", "type": "number" } } } </templatedata> <includeonly>[[Category:Link creating templates|{{PAGENAME}}]]</includeonly> aff0e74b57a720800e25e460cc8580579ec40548 Template:Infobox Profession/doc 10 668 1182 2024-03-24T12:44:29Z Habblet 11 Created page with "{{Documentation}} ==Parameters== ===name=== The name of the profession. ===image=== The profession icon. ===release=== The release date of the profession. ==Quick copy== <pre>{{Infobox Profession |name = |image = |release = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly>" wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the profession. ===image=== The profession icon. ===release=== The release date of the profession. ==Quick copy== <pre>{{Infobox Profession |name = |image = |release = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> e908dcbdc1155be650fd40be734d2917894ff78d Category:Infobox templates 14 669 1183 2024-03-24T12:44:51Z Habblet 11 Created page with "{{Categoryheader|templates|[[Module:Infobox|infoboxes]]||}} [[Category:Templates]]" wikitext text/x-wiki {{Categoryheader|templates|[[Module:Infobox|infoboxes]]||}} [[Category:Templates]] fb077f2254fb3cdcc527d58417d280ef6e0b9c88 Template:Infobox Item 10 77 1184 1039 2024-03-24T12:44:55Z InvalidCards 4 Infobox item fixes and things wikitext text/x-wiki {| class="wikitable infobox-item" style="float:right" !colspan="2"|{{{name|{{PAGENAME}}}}} |- |colspan="2" style="text-align:center"| {{{image|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}}} |- |<b>Release date</b>||{{{release|Q3 [[2024]]}}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{{profession|{{Edit button|text=<b>?</b> (edit)}}}}} |- |<b>Value</b>||{{{value|{{Edit button|text=<b>?</b> (edit)}}}}} |}<includeonly>{{Mainonly|[[Category:Items]]}}</includeonly> 7d603d4300dc117e756b8fa184e61b7b713f7ab2 1186 1184 2024-03-24T12:46:11Z InvalidCards 4 Item maintenance categories wikitext text/x-wiki {| class="wikitable infobox-item" style="float:right" !colspan="2"|{{{name|{{PAGENAME}}}}} |- |colspan="2" style="text-align:center"| {{{image|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}}} |- |<b>Release date</b>||{{{release|Q3 [[2024]]}}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{{profession|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing profession]]}}}}} |- |<b>Value</b>||{{{value|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing value]]}}}}} |}<includeonly>{{Mainonly|[[Category:Items]]}}</includeonly> f3d35df406a93ea4d0edc229de7d47315a413ec2 Coins 0 441 1185 1144 2024-03-24T12:45:48Z BlackHawk 10 wikitext text/x-wiki '''Coins''' are the currency of [[Brighter Shores]]. They come in three types: * [[File:Gold coin.png|18px]] Gold coins * [[File:Silver coin.png|18px]] Silver coins * [[File:Copper coin.png|18px]] Copper coins The three types are not separate currencies; there are 1,000 copper coins to a silver coin, and 1,000 silver coins to a gold coin (or 1,000,000 copper coins to a gold coin).{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1771788649589289317|author=Andrew Gower|date=24 March 2024|accessdate=24 March 2024|archiveurl=https://archive.is/UBk1j|archivedate=24 March 2024|quote=there isnt multiple currencies. There is 1000 copper to a silver, and 1000 silver to a gold.}} ==References== {{Reflist}} [[Category:Items]] f74dba2c2dc2aaeaaffd0da39450f75f152bdb59 1195 1185 2024-03-24T12:56:54Z Habblet 11 wikitext text/x-wiki '''Coins''' are the currency of [[Brighter Shores]]. They come in three types: {| class="wikitable" ! colspan="2" | Coin ! Worth in<br />copper coins |- | [[File:Copper coin.png|18px]] | Copper coin | 1 |- | [[File:Silver coin.png|18px]] | Silver coin | 1,000 |- | [[File:Gold coin.png|18px]] | Gold coin | 1,000,000 |} The three types are not separate currencies; there are 1,000 copper coins to a silver coin, and 1,000 silver coins to a gold coin.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1771788649589289317|author=Andrew Gower|date=24 March 2024|accessdate=24 March 2024|archiveurl=https://archive.is/UBk1j|archivedate=24 March 2024|quote=there isnt multiple currencies. There is 1000 copper to a silver, and 1000 silver to a gold.}} ==References== {{Reflist}} [[Category:Items]] c5205d78d06b95422a7f4b8c81654d5cd0c9bf4a Category:Items needing value 14 670 1188 2024-03-24T12:47:51Z InvalidCards 4 Created page with "{{Categoryheader|pages|items without a value set|yes|[[Template:Infobox Item]]}} [[Category:Maintenance categories]]" wikitext text/x-wiki {{Categoryheader|pages|items without a value set|yes|[[Template:Infobox Item]]}} [[Category:Maintenance categories]] 124127ffbc3905096b97b9d87521e57158b22a81 Category:Items needing profession 14 671 1189 2024-03-24T12:48:24Z InvalidCards 4 Created page with "{{Categoryheader|pages|items without a profession set|yes|[[Template:Infobox Item]]}} [[Category:Maintenance categories]]" wikitext text/x-wiki {{Categoryheader|pages|items without a profession set|yes|[[Template:Infobox Item]]}} [[Category:Maintenance categories]] 22638abce7503e2af9038a6e049893deaca0b0ed File:Foraging 2.jpg 6 672 1190 2024-03-24T12:48:34Z Habblet 11 {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_d9af80b04087997cb3ed198e2fe3de4bd0b0af9b.jpg?t=1710756596}} wikitext text/x-wiki == Summary == {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_d9af80b04087997cb3ed198e2fe3de4bd0b0af9b.jpg?t=1710756596}} cbd501dbdf15f7056a848ec7b3693e9e02e8969b Sturlet 0 67 1192 1084 2024-03-24T12:49:38Z InvalidCards 4 Empty infobox feels weird but that's what we have wikitext text/x-wiki {{Infobox Item}} '''Sturlet''' is a type of [[fish]] that gives 7 experience in the [[Fisher]] profession per catch.<ref>https://brightershores.com/screenshots/12_vincible.jpg</ref> ==References== {{Reflist}} 6951a5fe690b47828ce505456c9cfd4bb0884058 Template:Professions 10 115 1193 210 2024-03-24T12:50:25Z Habblet 11 wikitext text/x-wiki {{Navbox |name = Professions |title = [[Professions]] |style1 = text-align:center |group1 = * {{plink|Fisher|pic=Profession fisher|size=28x28}} * {{plink|Forager|pic=Profession forager|size=28x28}} * [[Chef]] * {{plink|Woodcutter|pic=Woodcutter icon|size=28x28}} * [[Miner]] * [[Alchemist]] * [[Stonemason]] * [[Merchant]] * [[Blacksmith]] }}{{Ctg|Professions}} a2d44f7c6a032d41d8792c37f4d730bd752a6eed Module:Param Parse 828 673 1194 2024-03-24T12:51:03Z Gau Cho 5 Created page with "--[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local p = {} -- Standardized "name" function function param.name(arg) return string.match(arg or '', '%S') and arg or nil end -- Standardized "has content" function function param.has_content(arg, default) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or default end -- Create a standardized release function, since so many pages use it..." Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local p = {} -- Standardized "name" function function param.name(arg) return string.match(arg or '', '%S') and arg or nil end -- Standardized "has content" function function param.has_content(arg, default) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or default end -- Create a standardized release function, since so many pages use it -- Turns release and update into a single parameter function param.release_update(release, update) if not Infobox.isDefined(release) then return nil end if string.lower(release) == 'no' then return 'N/A' end if not Infobox.isDefined(update) then return string.format('%s (Update unknown)',release) end if string.lower(update) == 'no' then return release end return string.format('%s ([[Update:%s|Update]])', release, update) end -- Standardized image function function param.image(img) if img and img:find('%S') then return img else return nil end end -- Strip the brackets from the param function param.image_smw(img) local _img = string.match(img, "File:.-%.png") return _img end -- Standardized numbers function param.numbers(num) num = string.gsub(num or '',',','') return tonumber(num) end return param -- </nowiki> 9808ea74bd1286a130af7d11fb4a47da914e8c6d User:BlackHawk/common.js 2 674 1196 2024-03-24T13:11:52Z BlackHawk 10 Created page with "/* This imports the latest version of HotCat from Commons. HotCat is a gadget to make changes to categories much easier. Full documentation can be found at http://commons.wikimedia.org/wiki/Help:Gadget-HotCat */ mw.loader.load( '//commons.wikimedia.org/w/index.php?title=MediaWiki:Gadget-HotCat.js&action=raw&ctype=text/javascript' );" javascript text/javascript /* This imports the latest version of HotCat from Commons. HotCat is a gadget to make changes to categories much easier. Full documentation can be found at http://commons.wikimedia.org/wiki/Help:Gadget-HotCat */ mw.loader.load( '//commons.wikimedia.org/w/index.php?title=MediaWiki:Gadget-HotCat.js&action=raw&ctype=text/javascript' ); a772d8a6e7a7c4636a63f5e64b03e422da8f63d1 Category:Modules requiring modules 14 675 1197 2024-03-24T13:13:36Z BlackHawk 10 Created page with "Modules that require other modules. [[Category:Modules]]" wikitext text/x-wiki Modules that require other modules. [[Category:Modules]] ad65cf61cd930ea9c250eff6e2f6656c6f7e93d3 Category:Reference templates 14 676 1198 2024-03-24T13:14:10Z BlackHawk 10 Created page with "{{Categoryheader|templates|those that are used to organise references||}} [[Category:Templates]]" wikitext text/x-wiki {{Categoryheader|templates|those that are used to organise references||}} [[Category:Templates]] 2d96223dab0a2f6cc8b94a24ef433bae3edeaaa1 Category:Template invoked modules 14 677 1199 2024-03-24T13:14:46Z BlackHawk 10 Created page with "{{Categoryheader|modules|templates}} [[Category:Modules]]" wikitext text/x-wiki {{Categoryheader|modules|templates}} [[Category:Modules]] 7d149f1f0437556b5c969c491512c50f0325cc86 Category:Modules required by modules 14 678 1200 2024-03-24T13:15:07Z BlackHawk 10 Created page with "Modules that are required by other modules. [[Category:Modules]]" wikitext text/x-wiki Modules that are required by other modules. [[Category:Modules]] f78cc6bd4f2094026a9786d4e7fa78f3359d2594 Category:Link creating templates 14 679 1201 2024-03-24T13:15:34Z BlackHawk 10 Created page with "{{Categoryheader|templates|those that create links}} [[Category:Transclusion templates]]" wikitext text/x-wiki {{Categoryheader|templates|those that create links}} [[Category:Transclusion templates]] b19fe22a834e1f8ad80fb12e308b22f4feaad38c Category:Unused modules 14 680 1202 2024-03-24T13:16:58Z BlackHawk 10 Created page with "{{Categoryheader|modules|which are neither invoked by a template nor required/loaded be another module|true|{{t|DependencyList}}|related=no}} [[Category:Modules]]" wikitext text/x-wiki {{Categoryheader|modules|which are neither invoked by a template nor required/loaded be another module|true|{{t|DependencyList}}|related=no}} [[Category:Modules]] ecaa18cc8d3da10ddb006a57f0ab15cd227d4c3e Category:Icons 14 681 1203 2024-03-24T13:19:04Z BlackHawk 10 Created page with "This category contains icons used in the interface, in various [[Special:Gadgets|gadgets]], and in the [[MediaWiki:Common.less|skin]]. [[Category:Brighter Shores Wiki images]]" wikitext text/x-wiki This category contains icons used in the interface, in various [[Special:Gadgets|gadgets]], and in the [[MediaWiki:Common.less|skin]]. [[Category:Brighter Shores Wiki images]] 7d6c4a9ba55a83f7b647fbb4e74f31d0e2bde905 File:Redirect-arrow.svg 6 532 1204 907 2024-03-24T13:19:45Z BlackHawk 10 wikitext text/x-wiki == Summary == {{Permanent Protection}} {{PD}} [[Category:Icons]] 6a294e3116c6a0030a8a345bcbf9cc3c464f7f93 Category:Logos 14 682 1205 2024-03-24T13:20:57Z BlackHawk 10 Created page with "{{Categoryheader|pages|company logos||}} [[Category:Brighter Shores Wiki images]]" wikitext text/x-wiki {{Categoryheader|pages|company logos||}} [[Category:Brighter Shores Wiki images]] f9c7dc62f83fa99ff50ebe80ac497ee73f062ad2 File:Wiki.png 6 53 1206 604 2024-03-24T13:22:19Z BlackHawk 10 wikitext text/x-wiki {{Permanent Protection}} [[Category:Brighter Shores Wiki images]] [[Category:Logos]] 073ae1591e881ecf6cc72b22fc011a1771d98c18 File:Fenforge logo.png 6 96 1207 155 2024-03-24T13:24:39Z BlackHawk 10 wikitext text/x-wiki {{Fair use|https://web.archive.org/web/20240113093704im_/https://www.solstrike.com/fenforge_logo.png}} [[Category:Logos]] 7b8e0653a2634205b9aadd7effe978b979554279 File:Fen logo 6.png 6 655 1208 1141 2024-03-24T13:25:25Z BlackHawk 10 wikitext text/x-wiki {{Fair use|https://web.archive.org/web/20120328015000im_/http://www.fenresearch.com/_/rsrc/1316441752680/home/fen%20logo%206.png?height=200&width=200}} [[Category:Logos]] 5b427050138d96682a13d95e387254f8cedadad1 File:Copyright.svg 6 222 1209 898 2024-03-24T13:26:10Z BlackHawk 10 added [[Category:Icons]] using [[Help:Gadget-HotCat|HotCat]] wikitext text/x-wiki == Summary == {{Permanent Protection}} {{GFDL}} Source: modified from [http://commons.wikimedia.org/wiki/Image:Copyright-problem.svg a file on Wikimedia Commons]. [[Category:Icons]] 018999277cb5efe88c64d18a3a4fd5ad0a33d381 File:Padlock-red.svg 6 224 1210 901 2024-03-24T13:26:34Z BlackHawk 10 added [[Category:Icons]] using [[Help:Gadget-HotCat|HotCat]] wikitext text/x-wiki == Summary == {{Permanent Protection}} {{PD}} [[Category:Icons]] 3584be579b41ef6fa66b3186e1ee0a53a3042ebd File:PD-icon.svg 6 272 1211 450 2024-03-24T13:26:39Z BlackHawk 10 added [[Category:Icons]] using [[Help:Gadget-HotCat|HotCat]] wikitext text/x-wiki == Summary == {{PD}} Source: http://commons.wikimedia.org/wiki/Image:PD-icon.svg [[Category:Icons]] 1f4e2c42d972e5126ce1e97b8fc6d69b2015692d File:Information icon-grey.svg 6 275 1212 454 2024-03-24T13:26:47Z BlackHawk 10 added [[Category:Icons]] using [[Help:Gadget-HotCat|HotCat]] wikitext text/x-wiki == Summary == {{GFDL}} [[Category:Brighter Shores Wiki images]] [[Category:Icons]] d7f00cfd065afab203f8643591be5b8feb29c1b8 File:Heckert GNU white.svg 6 278 1213 900 2024-03-24T13:26:53Z BlackHawk 10 added [[Category:Icons]] using [[Help:Gadget-HotCat|HotCat]] wikitext text/x-wiki == Summary == {{Permanent Protection}} An image of a Gnu. Taken from Wikimedia Commons ([http://commons.wikimedia.org/wiki/Image:Heckert_GNU_white.svg description page]). *Original author: Aurelio A. Heckert <aurium@gmail.com> ==License== {{Copyleft}} [[Category:Icons]] 6f2cc1cf68fba93c2ebe25dc65332c795e8b50db File:GreenCopyleft.svg 6 284 1214 899 2024-03-24T13:26:58Z BlackHawk 10 added [[Category:Icons]] using [[Help:Gadget-HotCat|HotCat]] wikitext text/x-wiki == Summary == {{Permanent Protection}} The green copyleft symbol. Obtained from Wikimedia Commons. Released into the public domain by the author. ==License== {{PD}} [[Category:Icons]] 17522addecd40aeae510362dbb3e508a9e6e3e71 File:Information icon.svg 6 543 1215 919 2024-03-24T13:27:16Z BlackHawk 10 added [[Category:Icons]] using [[Help:Gadget-HotCat|HotCat]] wikitext text/x-wiki == Summary == {{Permanent Protection}} {{GFDL}} [[Category:Icons]] dea0d93b67f3fb5de475f4526c8aa4a3a33e7825 File:Cc-by new white.svg 6 539 1216 914 2024-03-24T13:27:20Z BlackHawk 10 added [[Category:Icons]] using [[Help:Gadget-HotCat|HotCat]] wikitext text/x-wiki == Summary == Sourced from: https://commons.wikimedia.org/wiki/File:Cc-by_new_white.svg {{PD}} [[Category:Icons]] a5d97001d6fd8acf67f5b1890513d48745de4e5d File:Discord logo icon.svg 6 363 1217 596 2024-03-24T13:27:50Z BlackHawk 10 added [[Category:Logos]] using [[Help:Gadget-HotCat|HotCat]] wikitext text/x-wiki [[Category:Logos]] 10f225c9f3296afc29aa6cbe67c454223cc655af Adothria 0 683 1218 2024-03-24T13:42:01Z Habblet 11 Created page with "'''Adothria''' is the world where ''[[Brighter Shores]]'' is set on.{{CiteGeneral|url=https://www.godisageek.com/2024/03/brighter-shores-is-a-new-mmorpg-coming-to-pc-and-mac/ |title=Brighter Shores is a new MMORPG coming to PC and Mac |author=Adam Cook |quote=Finding themselves in the peaceful coastal town of Hopeport, players initially take on the role of a town guard. Their role as protector, however, soon expands far beyond the town walls as they learn of a greater th..." wikitext text/x-wiki '''Adothria''' is the world where ''[[Brighter Shores]]'' is set on.{{CiteGeneral|url=https://www.godisageek.com/2024/03/brighter-shores-is-a-new-mmorpg-coming-to-pc-and-mac/ |title=Brighter Shores is a new MMORPG coming to PC and Mac |author=Adam Cook |quote=Finding themselves in the peaceful coastal town of Hopeport, players initially take on the role of a town guard. Their role as protector, however, soon expands far beyond the town walls as they learn of a greater threat across the fantastical world of Adothria. |date=13 March 2024 |accessdate=24 March 2024 |archiveurl=https://archive.is/GVkr3 |archivedate=24 March 2024}} ==References== {{Reflist}} [[Category:Locations]] 225109875248e31e18ad68d32827ad538ef1efbd Hopeport 0 68 1219 253 2024-03-24T13:43:42Z Habblet 11 wikitext text/x-wiki '''Hopeport''' is a coastal town in [[Adothria]]. It serves as the main introductory town for new [[player]]s.{{CiteGeneral|url=https://www.godisageek.com/2024/03/brighter-shores-is-a-new-mmorpg-coming-to-pc-and-mac/ |title=Brighter Shores is a new MMORPG coming to PC and Mac |author=Adam Cook |quote=Finding themselves in the peaceful coastal town of Hopeport, players initially take on the role of a town guard. Their role as protector, however, soon expands far beyond the town walls as they learn of a greater threat across the fantastical world of Adothria. |date=13 March 2024 |accessdate=24 March 2024 |archiveurl=https://archive.is/GVkr3 |archivedate=24 March 2024}} ==Features== * A [[Hopeport Harbor|harbor]] ==References== {{Reflist}} [[Category:Locations]] [[Category:Hopeport|#]] 3da09121dbcbf664a512393057581febdf00637f 2023 0 684 1220 2024-03-24T14:04:39Z ToofleBerry 6 Created page with "'''2016'''. * Between [[3 October]] and [[7 December]] - Service for Iona's Toybox, the second game created using the [[Fenforge]] engine, was stopped due to the time required to implement the legislation of the UK Online Safety Act<ref>https://web.archive.org/web/20231207233217/https://www.ionastoybox.com/</ref>. ==References== <references/> {{Timeline}}" wikitext text/x-wiki '''2016'''. * Between [[3 October]] and [[7 December]] - Service for Iona's Toybox, the second game created using the [[Fenforge]] engine, was stopped due to the time required to implement the legislation of the UK Online Safety Act<ref>https://web.archive.org/web/20231207233217/https://www.ionastoybox.com/</ref>. ==References== <references/> {{Timeline}} 91d25003acc8134c3a1ddfefc7447ede9c4a10eb 1223 1220 2024-03-24T14:05:22Z ToofleBerry 6 wikitext text/x-wiki '''2023'''. * Between [[3 October]] and [[7 December]] - Service for Iona's Toybox, the second game created using the [[Fenforge]] engine, was stopped due to the time required to implement the legislation of the UK Online Safety Act<ref>https://web.archive.org/web/20231207233217/https://www.ionastoybox.com/</ref>. ==References== <references/> {{Timeline}} e63dee1cf1573875bb52cbe1c685f4ee1ff4f7c3 Trunk 0 685 1221 2024-03-24T14:05:03Z BlackHawk 10 Created page with "A '''trunk''' is a piece of interactible scenery that can be found in [[Pirate Hideout]]. [[Category:Scenery]]" wikitext text/x-wiki A '''trunk''' is a piece of interactible scenery that can be found in [[Pirate Hideout]]. [[Category:Scenery]] 9b1e0cc9ee33813a84a672f33130a57ad7c4839b 1228 1221 2024-03-24T14:07:09Z BlackHawk 10 wikitext text/x-wiki [[File:Trunk.png|thumb|The trunk.]] A '''trunk''' is a piece of interactable scenery that can be found in [[Pirate Hideout]]. [[Category:Scenery]] 901937a7c5b2be6e43373590b6d5e3e1e8b76485 1240 1228 2024-03-24T14:22:07Z BlackHawk 10 wikitext text/x-wiki {{Infobox Scenery |name = Trunk |image = [[File:Trunk.png]] |release = |episode = }} A '''trunk''' is a piece of interactable scenery that can be found in [[Pirate Hideout]]. 397936d62b7e3d1a20612d8277e097a665ec4fd5 Template:Timeline 10 490 1222 1158 2024-03-24T14:05:08Z ToofleBerry 6 wikitext text/x-wiki {{Navbox |name = Timeline |title = ''Brighter Shores'' timeline |gtitle1 = 2010s |group1 = * [[2010]] * [[2011]] * [[2012]] * [[2013]] * [[2014]] * [[2015]] * [[2016]] * [[2017]] * [[2018]] * [[2019]] |gtitle2 = 2020s |group2 = * [[2020]] * [[2021]] * [[2022]] * [[2023]] * [[2024]] |gtitle3 = Other |group3 = * [[Upcoming updates]] * [[Hidden updates]] * [[:Category:Dates in Brighter Shores|Dates in Brighter Shores]] }}{{Ctg|Timeline}} 4ddb662c52001bd81f29d1a142ef77dce4fa0022 Hidden updates 0 497 1224 853 2024-03-24T14:05:30Z ToofleBerry 6 wikitext text/x-wiki '''Hidden updates''' are [[updates]] which are not mentioned in the ''Brighter Shores'' news. There are small updates and bug fixes which are too trivial to announce and should be documented here as they are found. This page lists hidden updates for {{CURRENTYEAR}}. {{Timeline}} eff1e092f98099f0f7fcbb1724ea2a0f47a29993 Category:Dates in Brighter Shores 14 498 1225 855 2024-03-24T14:05:44Z ToofleBerry 6 wikitext text/x-wiki {{Categoryheader|pages|dates in ''Brighter Shores''||static=no}} {| class="wikitable" align="center" width="75%" ! Events in ''Brighter Shores'' listed by year |- | align=center | [[2010]] &ndash; [[2024]] |} {| class="wikitable" align="center" width="75%" ! colspan="32" | Events in ''Brighter Shores'' listed by date |- style="font-size:75%" |'''Jan''' |[[1 January|1]] |[[2 January|2]] |[[3 January|3]] |[[4 January|4]] |[[5 January|5]] |[[6 January|6]] |[[7 January|7]] |[[8 January|8]] |[[9 January|9]] |[[10 January|10]] |[[11 January|11]] |[[12 January|12]] |[[13 January|13]] |[[14 January|14]] |[[15 January|15]] |[[16 January|16]] |[[17 January|17]] |[[18 January|18]] |[[19 January|19]] |[[20 January|20]] |[[21 January|21]] |[[22 January|22]] |[[23 January|23]] |[[24 January|24]] |[[25 January|25]] |[[26 January|26]] |[[27 January|27]] |[[28 January|28]] |[[29 January|29]] |[[30 January|30]] |[[31 January|31]] |- style="font-size:75%" |'''Feb''' |[[1 February|1]] |[[2 February|2]] |[[3 February|3]] |[[4 February|4]] |[[5 February|5]] |[[6 February|6]] |[[7 February|7]] |[[8 February|8]] |[[9 February|9]] |[[10 February|10]] |[[11 February|11]] |[[12 February|12]] |[[13 February|13]] |[[14 February|14]] |[[15 February|15]] |[[16 February|16]] |[[17 February|17]] |[[18 February|18]] |[[19 February|19]] |[[20 February|20]] |[[21 February|21]] |[[22 February|22]] |[[23 February|23]] |[[24 February|24]] |[[25 February|25]] |[[26 February|26]] |[[27 February|27]] |[[28 February|28]] |[[29 February|29]] |- style="font-size:75%" |'''Mar''' |[[1 March|1]] |[[2 March|2]] |[[3 March|3]] |[[4 March|4]] |[[5 March|5]] |[[6 March|6]] |[[7 March|7]] |[[8 March|8]] |[[9 March|9]] |[[10 March|10]] |[[11 March|11]] |[[12 March|12]] |[[13 March|13]] |[[14 March|14]] |[[15 March|15]] |[[16 March|16]] |[[17 March|17]] |[[18 March|18]] |[[19 March|19]] |[[20 March|20]] |[[21 March|21]] |[[22 March|22]] |[[23 March|23]] |[[24 March|24]] |[[25 March|25]] |[[26 March|26]] |[[27 March|27]] |[[28 March|28]] |[[29 March|29]] |[[30 March|30]] |[[31 March|31]] |- style="font-size:75%" |'''Apr''' |[[1 April|1]] |[[2 April|2]] |[[3 April|3]] |[[4 April|4]] |[[5 April|5]] |[[6 April|6]] |[[7 April|7]] |[[8 April|8]] |[[9 April|9]] |[[10 April|10]] |[[11 April|11]] |[[12 April|12]] |[[13 April|13]] |[[14 April|14]] |[[15 April|15]] |[[16 April|16]] |[[17 April|17]] |[[18 April|18]] |[[19 April|19]] |[[20 April|20]] |[[21 April|21]] |[[22 April|22]] |[[23 April|23]] |[[24 April|24]] |[[25 April|25]] |[[26 April|26]] |[[27 April|27]] |[[28 April|28]] |[[29 April|29]] |[[30 April|30]] |- style="font-size:75%" |'''May''' |[[1 May|1]] |[[2 May|2]] |[[3 May|3]] |[[4 May|4]] |[[5 May|5]] |[[6 May|6]] |[[7 May|7]] |[[8 May|8]] |[[9 May|9]] |[[10 May|10]] |[[11 May|11]] |[[12 May|12]] |[[13 May|13]] |[[14 May|14]] |[[15 May|15]] |[[16 May|16]] |[[17 May|17]] |[[18 May|18]] |[[19 May|19]] |[[20 May|20]] |[[21 May|21]] |[[22 May|22]] |[[23 May|23]] |[[24 May|24]] |[[25 May|25]] |[[26 May|26]] |[[27 May|27]] |[[28 May|28]] |[[29 May|29]] |[[30 May|30]] |[[31 May|31]] |- style="font-size:75%" |'''Jun''' |[[1 June|1]] |[[2 June|2]] |[[3 June|3]] |[[4 June|4]] |[[5 June|5]] |[[6 June|6]] |[[7 June|7]] |[[8 June|8]] |[[9 June|9]] |[[10 June|10]] |[[11 June|11]] |[[12 June|12]] |[[13 June|13]] |[[14 June|14]] |[[15 June|15]] |[[16 June|16]] |[[17 June|17]] |[[18 June|18]] |[[19 June|19]] |[[20 June|20]] |[[21 June|21]] |[[22 June|22]] |[[23 June|23]] |[[24 June|24]] |[[25 June|25]] |[[26 June|26]] |[[27 June|27]] |[[28 June|28]] |[[29 June|29]] |[[30 June|30]] |- style="font-size:75%" |'''Jul''' |[[1 July|1]] |[[2 July|2]] |[[3 July|3]] |[[4 July|4]] |[[5 July|5]] |[[6 July|6]] |[[7 July|7]] |[[8 July|8]] |[[9 July|9]] |[[10 July|10]] |[[11 July|11]] |[[12 July|12]] |[[13 July|13]] |[[14 July|14]] |[[15 July|15]] |[[16 July|16]] |[[17 July|17]] |[[18 July|18]] |[[19 July|19]] |[[20 July|20]] |[[21 July|21]] |[[22 July|22]] |[[23 July|23]] |[[24 July|24]] |[[25 July|25]] |[[26 July|26]] |[[27 July|27]] |[[28 July|28]] |[[29 July|29]] |[[30 July|30]] |[[31 July|31]] |- style="font-size:75%" |'''Aug''' |[[1 August|1]] |[[2 August|2]] |[[3 August|3]] |[[4 August|4]] |[[5 August|5]] |[[6 August|6]] |[[7 August|7]] |[[8 August|8]] |[[9 August|9]] |[[10 August|10]] |[[11 August|11]] |[[12 August|12]] |[[13 August|13]] |[[14 August|14]] |[[15 August|15]] |[[16 August|16]] |[[17 August|17]] |[[18 August|18]] |[[19 August|19]] |[[20 August|20]] |[[21 August|21]] |[[22 August|22]] |[[23 August|23]] |[[24 August|24]] |[[25 August|25]] |[[26 August|26]] |[[27 August|27]] |[[28 August|28]] |[[29 August|29]] |[[30 August|30]] |[[31 August|31]] |- style="font-size:75%" |'''Sep''' |[[1 September|1]] |[[2 September|2]] |[[3 September|3]] |[[4 September|4]] |[[5 September|5]] |[[6 September|6]] |[[7 September|7]] |[[8 September|8]] |[[9 September|9]] |[[10 September|10]] |[[11 September|11]] |[[12 September|12]] |[[13 September|13]] |[[14 September|14]] |[[15 September|15]] |[[16 September|16]] |[[17 September|17]] |[[18 September|18]] |[[19 September|19]] |[[20 September|20]] |[[21 September|21]] |[[22 September|22]] |[[23 September|23]] |[[24 September|24]] |[[25 September|25]] |[[26 September|26]] |[[27 September|27]] |[[28 September|28]] |[[29 September|29]] |[[30 September|30]] |- style="font-size:75%" |'''Oct''' |[[1 October|1]] |[[2 October|2]] |[[3 October|3]] |[[4 October|4]] |[[5 October|5]] |[[6 October|6]] |[[7 October|7]] |[[8 October|8]] |[[9 October|9]] |[[10 October|10]] |[[11 October|11]] |[[12 October|12]] |[[13 October|13]] |[[14 October|14]] |[[15 October|15]] |[[16 October|16]] |[[17 October|17]] |[[18 October|18]] |[[19 October|19]] |[[20 October|20]] |[[21 October|21]] |[[22 October|22]] |[[23 October|23]] |[[24 October|24]] |[[25 October|25]] |[[26 October|26]] |[[27 October|27]] |[[28 October|28]] |[[29 October|29]] |[[30 October|30]] |[[31 October|31]] |- style="font-size:75%" |'''Nov''' |[[1 November|1]] |[[2 November|2]] |[[3 November|3]] |[[4 November|4]] |[[5 November|5]] |[[6 November|6]] |[[7 November|7]] |[[8 November|8]] |[[9 November|9]] |[[10 November|10]] |[[11 November|11]] |[[12 November|12]] |[[13 November|13]] |[[14 November|14]] |[[15 November|15]] |[[16 November|16]] |[[17 November|17]] |[[18 November|18]] |[[19 November|19]] |[[20 November|20]] |[[21 November|21]] |[[22 November|22]] |[[23 November|23]] |[[24 November|24]] |[[25 November|25]] |[[26 November|26]] |[[27 November|27]] |[[28 November|28]] |[[29 November|29]] |[[30 November|30]] |- style="font-size:75%" |'''Dec''' |[[1 December|1]] |[[2 December|2]] |[[3 December|3]] |[[4 December|4]] |[[5 December|5]] |[[6 December|6]] |[[7 December|7]] |[[8 December|8]] |[[9 December|9]] |[[10 December|10]] |[[11 December|11]] |[[12 December|12]] |[[13 December|13]] |[[14 December|14]] |[[15 December|15]] |[[16 December|16]] |[[17 December|17]] |[[18 December|18]] |[[19 December|19]] |[[20 December|20]] |[[21 December|21]] |[[22 December|22]] |[[23 December|23]] |[[24 December|24]] |[[25 December|25]] |[[26 December|26]] |[[27 December|27]] |[[28 December|28]] |[[29 December|29]] |[[30 December|30]] |[[31 December|31]] |} {{Timeline}} [[Category:Updates]] a2cb004c418a10bd54dde55d529eae51eec381ae Upcoming updates 0 496 1226 852 2024-03-24T14:05:52Z ToofleBerry 6 wikitext text/x-wiki {{Future}} This page is a list of [[updates]] coming to ''[[Brighter Shores]]''. ==Schedule== ''The dates and specific order of the updates are based on official announcements and estimates from Fen Research. It is possible that an update will not be released within the listed time frame.'' ===2024=== {| class="wikitable" ! colspan="2" | Timeframe ! Update |- | colspan="2" | Q3 | Release of ''[[Brighter Shores]]''. |} {{Timeline}} 97b99e82945c6c92f0c976315ce13cbbd592bccc File:Trunk.png 6 686 1227 2024-03-24T14:06:15Z BlackHawk 10 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1231 1227 2024-03-24T14:07:46Z BlackHawk 10 wikitext text/x-wiki [[Category:Scenery images]] 4211c47bd425933fe892ec95a0e868286d7edfca Category:Scenery 14 687 1229 2024-03-24T14:07:25Z BlackHawk 10 Created page with "{{Categoryheader|pages|scenery}} [[Category:Content]]" wikitext text/x-wiki {{Categoryheader|pages|scenery}} [[Category:Content]] b518647b6e1cd0e6f6a286fb9e4fb64a8de00b7e File:Fr logo 1440w.png 6 688 1230 2024-03-24T14:07:29Z ToofleBerry 6 Obtained from https://web.archive.org/web/20240313195951im_/https://www.fenresearch.com/fr_logo_1440w.png [[Category:Logos]] wikitext text/x-wiki == Summary == Obtained from https://web.archive.org/web/20240313195951im_/https://www.fenresearch.com/fr_logo_1440w.png [[Category:Logos]] cd5e91c72bd41cf0479238505506a2f6cce7b140 Category:Item images 14 641 1232 1061 2024-03-24T14:08:45Z BlackHawk 10 wikitext text/x-wiki {{Categoryheader|images|item images with no particular subcategory||}} [[Category:Images]] [[Category:Items]] e23d006848a138e7f21e75d421ec0175a937b104 Category:Scenery images 14 689 1233 2024-03-24T14:09:04Z BlackHawk 10 Created page with "{{Categoryheader|images|scenery images with no particular subcategory||}} [[Category:Images]] [[Category:Scenery]]" wikitext text/x-wiki {{Categoryheader|images|scenery images with no particular subcategory||}} [[Category:Images]] [[Category:Scenery]] 350e51237c7668955b741ca50fefc04538d02d5e Module:Param Parse 828 673 1234 1194 2024-03-24T14:11:21Z Gau Cho 5 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local param = {} -- Standardized "name" function function param.name(arg) return string.match(arg or '', '%S') and arg or nil end -- Standardized "has content" function function param.has_content(arg, default) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or default end -- Create a standardized release function, since so many pages use it -- Turns release and update into a single parameter function param.release_update(release, update) if not Infobox.isDefined(release) then return nil end if string.lower(release) == 'no' then return 'N/A' end if not Infobox.isDefined(update) then return string.format('%s (Update unknown)',release) end if string.lower(update) == 'no' then return release end return string.format('%s ([[Update:%s|Update]])', release, update) end -- Standardized image function function param.image(img) if img and img:find('%S') then return img else return nil end end -- Strip the brackets from the param function param.image_smw(img) local _img = string.match(img, "File:.-%.png") return _img end -- Standardized numbers function param.numbers(num) num = string.gsub(num or '',',','') return tonumber(num) end return param -- </nowiki> c4ad0c490f050eae2886d4a77cbf54f9d4dec72a Template:Infobox Scenery 10 690 1235 2024-03-24T14:11:58Z BlackHawk 10 Created page with "{| class="wikitable infobox-scenery" style="float:right" !colspan="2"|{{{name|{{PAGENAME}}}}} |- |colspan="2" style="text-align:center"| {{{image|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}}} |- |<b>Release date</b>||{{{release|Q3 [[2024]]}}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=F..." wikitext text/x-wiki {| class="wikitable infobox-scenery" style="float:right" !colspan="2"|{{{name|{{PAGENAME}}}}} |- |colspan="2" style="text-align:center"| {{{image|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}}} |- |<b>Release date</b>||{{{release|Q3 [[2024]]}}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |}<includeonly>{{Mainonly|[[Category:Scenery]]}}</includeonly> 661f615f08f1402eafc15991bb2ee7b69ef0d7ce 1237 1235 2024-03-24T14:14:34Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-scenery" style="float:right" !colspan="2"|{{{name|{{PAGENAME}}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{{image}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{{release|Q3 [[2024]]}}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |}<includeonly>{{Mainonly|[[Category:Scenery]]}}</includeonly> bacec8520a05757ad12efbc71877e6675136f72a 1239 1237 2024-03-24T14:20:57Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-scenery" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{{image}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |}<includeonly>{{Mainonly|[[Category:Scenery]]}}</includeonly> 23b376e62e12da7f1bcfb386105b6cfc24b78c94 1245 1239 2024-03-24T14:27:30Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-scenery" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{{image}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |}{{Mainonly|[[Category:Scenery]]}}<noinclude>{{/doc}}</noinclude> 58949b72e77aa33ec3d0c64952ebf1d458c4efa9 File:Fen research logo.png 6 691 1236 2024-03-24T14:12:27Z ToofleBerry 6 Obtained from https://web.archive.org/web/20130401171902im_/http://www.fenresearch.com/_/rsrc/1335457756451/index2/fen_research_logo.png?height=237&width=216 [[Category:Logos]] wikitext text/x-wiki == Summary == Obtained from https://web.archive.org/web/20130401171902im_/http://www.fenresearch.com/_/rsrc/1335457756451/index2/fen_research_logo.png?height=237&width=216 [[Category:Logos]] 9988a310bab34c3c7d68426dfb72aa843fd821f5 Template:Infobox Item 10 77 1238 1186 2024-03-24T14:15:34Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-item" style="float:right" !colspan="2"|{{{name|{{PAGENAME}}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{{image}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{{release|Q3 [[2024]]}}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{{profession|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing profession]]}}}}} |- |<b>Value</b>||{{{value|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing value]]}}}}} |}<includeonly>{{Mainonly|[[Category:Items]]}}</includeonly> 901027b68d7164b9173e11a89f058e606051a46d 1241 1238 2024-03-24T14:24:04Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-item" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{{image}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{#if:{{{profession|}}}|{{{profession}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing profession]]}}}} |- |<b>Value</b>||{{#if:{{{value|}}}|{{{value}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing value]]}}}} |}<includeonly>{{Mainonly|[[Category:Items]]}}</includeonly> 03282298561979458b2abd38451abf4cd30c26c8 1243 1241 2024-03-24T14:26:56Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-item" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{{image}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{#if:{{{profession|}}}|{{{profession}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing profession]]}}}} |- |<b>Value</b>||{{#if:{{{value|}}}|{{{value}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing value]]}}}} |}{{Mainonly|[[Category:Items]]}}<noinclude>{{/doc}}</noinclude> a6602e79b2739b09ae4374387568fdc1313aaaca Template:Infobox Profession 10 661 1242 1161 2024-03-24T14:25:10Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-profession" style="float:right" ! colspan="2" | {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- | colspan="2" style="text-align:center" | {{#if:{{{image|}}}|{{{image}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- ! Release date | {{{release|Q3 [[2024]]}}} |}{{Mainonly|[[Category:Professions]]}}<noinclude>{{/doc}}</noinclude> 0c0cc008259cc09a7833e58439f6b896e0212bf8 Module:Infobox 828 102 1244 866 2024-03-24T14:27:03Z Gau Cho 5 Replaced content with "--[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local Infobox = {} --[[ Infobox class -- args : parameters from frame to pass through -- Sets a meta table and creates a <div> tag wrapper -- other fields are initialized in other functions --]] function Infobox.new(args) local obj = setmetatable({ args = args, -- parameters (uncleaned) params = {}, -- param definition infobox_name = nil, -- template name }, Infobox) r..." Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local Infobox = {} --[[ Infobox class -- args : parameters from frame to pass through -- Sets a meta table and creates a <div> tag wrapper -- other fields are initialized in other functions --]] function Infobox.new(args) local obj = setmetatable({ args = args, -- parameters (uncleaned) params = {}, -- param definition infobox_name = nil, -- template name }, Infobox) return obj end -- Defines an infobox name ({{Template:arg}}) -- Used to create a link at the bottom of pages and for css function Infobox:define_name(arg) self.infobox_name = arg end --[[ Function for defining parameters -- name : parameter name -- func : function to define param, defaults to looking at blanks DO NOT DEFINE VERSION HERE USE :maxVersion() Can be used any number of times for efficient definition --]] function Infobox:define_params(...) for _, v in ipairs(...) do -- For every parameter, store its corresponding function to self.params if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property and type(v.smw_property == 'string') then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end self.params[v.name] = param end end end function Infobox.param(paramname) param = { property = 'Param', name = paramname, } return param end function Infobox.raw_param(paramname) param = { property = 'Raw Param', name = paramname, } return param end return Infobox d4ca6a97cbebfc7bc079746b64fa626ac5e7000d File:Combat.jpg 6 626 1246 612 2024-03-24T14:32:02Z Merds 25 wikitext text/x-wiki {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_a67ce8ed2d32a531442c893007a881215c4648b8.jpg?t=1710756596}} bbfdf4d1042d50f5b2d5236b49bd7b2bfd24c93f 1249 1025 2024-03-24T14:32:44Z Merds 25 Merds moved page [[File:Combat 2.jpg]] to [[File:Combat.jpg]] without leaving a redirect wikitext text/x-wiki == Summary == {{Fair use|link=https://cdn.cloudflare.steamstatic.com/steam/apps/2791440/ss_a67ce8ed2d32a531442c893007a881215c4648b8.jpg?t=1710756596}} f2da26bdcf62a64e1ae9e8a8ab4c5c03f2f13294 Combat 0 191 1247 1099 2024-03-24T14:32:26Z Merds 25 wikitext text/x-wiki [[File:Equipment.jpg|thumb|right|A preview of player in combat.]] [[File:Combat.jpg|thumb|right|Another preview of player in combat.]] [[File:Combat actions interface.png|thumb|The combat actions interface.]] '''Combat''' is a mechanic in [[Brighter Shores]] in which several [[player]]s or [[monsters]] fight. Depending on the [[class]] that is being used, player combat can utilise melee, ranged, or magic. [[Special attacks]] are a feature of the combat system. {{Mechanics}} 994d3e71a257544642e0695bb070e2619fc0f6f3 Template:Infobox Scenery/doc 10 692 1248 2024-03-24T14:32:29Z BlackHawk 10 Created page with "{{Documentation}} ==Parameters== ===name=== The name of the scenery. ===image=== The image of the scenery. ===release=== The release date of the scenery. ===episode=== The episode of the scenery. One of: * Hopeport * Hopeforest * Mine of Manbutan ==Quick copy== <pre>{{Infobox Scenery |name = |image = |release = |episode = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly>" wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the scenery. ===image=== The image of the scenery. ===release=== The release date of the scenery. ===episode=== The episode of the scenery. One of: * Hopeport * Hopeforest * Mine of Manbutan ==Quick copy== <pre>{{Infobox Scenery |name = |image = |release = |episode = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> 5afc15f2d02320876b4bc89ff2ba759e6419684d Template:Infobox Item/doc 10 694 1250 2024-03-24T14:34:03Z BlackHawk 10 Created page with "{{Documentation}} ==Parameters== ===name=== The name of the item. ===image=== The image of the item. ===release=== The release date of the item. ===episode=== The episode of the item. One of: * Hopeport * Hopeforest * Mine of Manbutan ===profession=== The profession of the item. ===value=== The value of the item. ==Quick copy== <pre>{{Infobox Item |name = |image = |release = |episode = |profession = |value = }}</pre> <includeonly>Category:Infobox templat..." wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the item. ===image=== The image of the item. ===release=== The release date of the item. ===episode=== The episode of the item. One of: * Hopeport * Hopeforest * Mine of Manbutan ===profession=== The profession of the item. ===value=== The value of the item. ==Quick copy== <pre>{{Infobox Item |name = |image = |release = |episode = |profession = |value = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> 469932b7480acbff1cdf745d64e65b5008a0a3ca Module:DependencyList 828 231 1251 405 2024-03-24T14:41:21Z Merds 25 new icon @Gau Scribunto text/plain local p = {} local libraryUtil = require( 'libraryUtil' ) local arr = require( 'Module:Array' ) local yn = require( 'Module:Yesno' ) local param = require( 'Module:Paramtest' ) local dpl = require( 'Module:DPLlua' ) local tooltip = require( 'Module:Tooltip' ) local moduleIsUsed = false local COLLAPSE_LIST_LENGTH_THRESHOLD = 5 local MAX_DYNAMIC_REQUIRE_LIST_LENGTH = 30 local dynamicRequireListQueryCache = {} local builtins = { ["libraryUtil"] = { link = "mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#libraryUtil", categories = {}, }, ["strict"] = { link = "mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#strict", categories = { "Strict mode modules" }, }, } --- Used in case 'require( varName )' is found. Attempts to find a string value stored in 'varName'. ---@param content string The content of the module to search in ---@param varName string ---@return string local function substVarValue( content, varName ) local res = content:match( varName .. '%s*=%s*(%b""%s-%.*)' ) or content:match( varName .. "%s*=%s*(%b''%s-%.*)" ) or '' if res:find( '^(["\'])[Mm]odule:[%S]+%1' ) and not res:find( '%.%.' ) and not res:find( '%%%a' ) then return mw.text.trim( res ) else return '' end end ---@param capture string ---@param content string The content of the module to search in ---@return string local function extractModuleName( capture, content ) capture = capture:gsub( '^%(%s*(.-)%s*%)$', '%1' ) if capture:find( '^(["\']).-%1$' ) then -- Check if it is already a pure string return capture elseif capture:find( '^[%a_][%w_]*$' ) then -- Check if if is a single variable return substVarValue( content, capture ) end return capture end ---@param str string ---@return string local function formatPageName( str ) local name = mw.text.trim(str) :gsub( '^([\'\"])(.-)%1$', '%2' ) -- Only remove quotes at start and end of string if both are the same type :gsub( '_', ' ' ) :gsub( '^.', string.upper ) :gsub( ':.', string.upper ) return name end ---@param str string ---@param allowBuiltins? boolean ---@return string local function formatModuleName( str, allowBuiltins ) if allowBuiltins then local name = mw.text.trim(str) -- Only remove quotes at start and end of string if both are the same type :gsub([[^(['"])(.-)%1$]], '%2') if builtins[name] then return name end end local module = formatPageName( str ) if not string.find( module, '^[Mm]odule:' ) then module = 'Module:' .. module end return module end local function dualGmatch( str, pat1, pat2 ) local f1 = string.gmatch( str, pat1 ) if pat2 then local f2 = string.gmatch( str, pat2 ) return function() return f1() or f2() end else return f1 end end local function isDynamicPath( str ) return string.find( str, '%.%.' ) or string.find( str, '%%%a' ) end --- Used in case a construct like 'require( "Module:wowee/" .. isTheBest )' is found. --- Will return a list of pages which satisfy this pattern where 'isTheBest' can take any value. ---@param query string ---@return string[] local function getDynamicRequireList( query ) if query:find( '%.%.' ) then query = mw.text.split( query, '..', true ) query = arr.map( query, function(x) return mw.text.trim(x) end ) query = arr.map( query, function(x) return (x:match('^[\'\"](.-)[\'\"]$') or '%') end ) query = table.concat( query ) else local _, _query = query:match( '(["\'])(.-)%1' ) query = _query:gsub( '%%%a', '%%' ) end query = query:gsub( '^[Mm]odule:', '' ) if query:find( '^[Ee]xchange/' ) or query:find( '^[Dd]ata/' ) then return { 'Module:' .. query } -- This format will later be used by formatDynamicQueryLink() end if dynamicRequireListQueryCache[ query ] then return dynamicRequireListQueryCache[ query ] end local list = dpl.ask{ namespace = 'Module', titlematch = query, nottitlematch = '%/doc|'..query..'/%', distinct = 'strict', ignorecase = true, ordermethod = 'title', count = MAX_DYNAMIC_REQUIRE_LIST_LENGTH + 1, skipthispage = 'no', allowcachedresults = true, cacheperiod = 604800 -- One week } if #list > MAX_DYNAMIC_REQUIRE_LIST_LENGTH then list = { 'Module:' .. query } end dynamicRequireListQueryCache[ query ] = list return list end --- Returns a list of modules loaded and required by module 'moduleName'. ---@param moduleName string ---@param searchForUsedTemplates? boolean ---@return table<string, string[]> local function getRequireList( moduleName, searchForUsedTemplates ) local content = mw.title.new( moduleName ):getContent() local requireList = arr{} local loadDataList = arr{} local loadJsonDataList = arr{} local usedTemplateList = arr{} local dynamicRequirelist = arr{} local dynamicLoadDataList = arr{} local dynamicLoadJsonDataList = arr{} local extraCategories = arr{} assert( content ~= nil, string.format( '%s does not exist', moduleName ) ) content = content:gsub( '%-%-%[(=-)%[.-%]%1%]', '' ):gsub( '%-%-[^\n]*', '' ) -- Strip comments local function getList( pat1, pat2, list, dynList ) for match in dualGmatch( content, pat1, pat2 ) do match = mw.text.trim( match ) local name = extractModuleName( match, content ) if isDynamicPath( name ) then dynList:insert( getDynamicRequireList( name ), true ) elseif name ~= '' then name = formatModuleName( name, true ) table.insert( list, name ) if builtins[name] then extraCategories = extraCategories:insert( builtins[name].categories, true ) end end end end getList( 'require%s*(%b())', 'require%s*((["\'])%s*[Mm]odule:.-%2)', requireList, dynamicRequirelist ) getList( 'mw%.loadData%s*(%b())', 'mw%.loadData%s*((["\'])%s*[Mm]odule:.-%2)', loadDataList, dynamicLoadDataList ) getList( 'mw%.loadJsonData%s*(%b())', 'mw%.loadJsonData%s*((["\'])%s*[Mm]odule:.-%2)', loadJsonDataList, dynamicLoadJsonDataList ) getList( 'pcall%s*%(%s*require%s*,([^%),]+)', nil, requireList, dynamicRequirelist ) getList( 'pcall%s*%(%s*mw%.loadData%s*,([^%),]+)', nil, loadDataList, dynamicLoadDataList ) getList( 'pcall%s*%(%s*mw%.loadJsonData%s*,([^%),]+)', nil, loadJsonDataList, dynamicLoadJsonDataList ) if searchForUsedTemplates then for preprocess in string.gmatch( content, ':preprocess%s*(%b())' ) do local function recursiveGMatch( str, pat ) local list = {} local i = 0 repeat for match in string.gmatch( list[i] or str, pat ) do table.insert( list, match ) end i = i + 1 until i > #list or i > 100 i = 0 return function() i = i + 1 return list[i] end end for template in recursiveGMatch( preprocess, '{(%b{})}' ) do local name = string.match( template, '{(.-)[|{}]' ) if name ~= '' then if name:find( ':' ) then local ns = name:match( '^(.-):' ) if arr.contains( {'', 'template', 'calculator', 'user'}, ns:lower() ) then table.insert( usedTemplateList, name ) elseif ns == ns:upper() then table.insert( usedTemplateList, ns ) -- Probably a magic word end else if name:match( '^%u+$' ) or name == '!' then table.insert( usedTemplateList, name ) -- Probably a magic word else table.insert( usedTemplateList, 'Template:'..name ) end end end end end end requireList = requireList .. dynamicRequirelist requireList = requireList:unique() loadDataList = loadDataList .. dynamicLoadDataList loadDataList = loadDataList:unique() loadJsonDataList = loadJsonDataList .. dynamicLoadJsonDataList usedTemplateList = usedTemplateList:unique() extraCategories = extraCategories:unique() table.sort( requireList ) table.sort( loadDataList ) table.sort( loadJsonDataList ) table.sort( usedTemplateList ) table.sort( extraCategories ) return { requireList = requireList, loadDataList = loadDataList, loadJsonDataList = loadJsonDataList, usedTemplateList = usedTemplateList, extraCategories = extraCategories } end --- Returns a list with module and function names used in all '{{#Invoke:moduleName|funcName}}' found on page 'templateName'. ---@param templateName string ---@return table<string, string>[] local function getInvokeCallList( templateName ) local content = mw.title.new( templateName ):getContent() local invokeList = {} assert( content ~= nil, string.format( '%s does not exist', templateName ) ) for moduleName, funcName in string.gmatch( content, '{{[{|safeubt:}]-#[Ii]nvoke:([^|]+)|([^}|]+)[^}]*}}' ) do moduleName = formatModuleName( moduleName ) funcName = mw.text.trim( funcName ) if string.find( funcName, '^{{{' ) then funcName = funcName .. '}}}' end table.insert( invokeList, {moduleName=moduleName, funcName=funcName} ) end -- For form calcs invoking the module directly for config in dualGmatch( content, '<pre%s+class%s*=%s*["\']jcConfig["\'](.-)</pre>', '{{[Ff]orm calculator%s*|(.+)}}' ) do local moduleName = string.match( config, 'module%s*=%s*(.-)[\n|]' ) if param.has_content( moduleName ) then moduleName = formatModuleName( moduleName ) local funcName = string.match( config, 'modulefunc%s*=%s*(.-)[\n|]' ) or 'main' table.insert( invokeList, {moduleName=moduleName, funcName=funcName} ) end end invokeList = arr.unique( invokeList, function(x) return x.moduleName..x.funcName end ) table.sort( invokeList, function(x, y) return x.moduleName..x.funcName < y.moduleName..y.funcName end ) return invokeList end ---@param pageName string ---@param addCategories boolean ---@return string local function messageBoxUnused( pageName, addCategories ) local html = mw.html.create( 'table' ):addClass( 'messagebox obsolete plainlinks' ) html:tag( 'td' ) :attr( 'width', '40xp' ) :wikitext( '[[File:Hourglass (historical).png|center|30px|link=]]' ) :done() :tag( 'td' ) :wikitext( "'''This module is unused.'''" ) :tag( 'div' ) :css{ ['font-size']='0.85em', ['line-height']='1.45em' } :wikitext( string.format( 'This module is neither invoked by a template nor required/loaded by another module. If this is in error, make sure to add <code>{{[[Template:Documentation|Documentation]]}}</code>/<code>{{[[Template:No documentation|No&nbsp;documentation]]}}</code> to the calling template\'s or parent\'s module documentation.', pageName ) ) :wikitext( addCategories and '[[Category:Unused modules]]' or '' ) :done() :done() return tostring( html ) end local function collapseList( list, id, listType ) local text = string.format( '%d %s', #list, listType ) local button = tooltip._span{ name=id, alt=text } list = arr.map( list, function(x) return '\n# '..x end ) local content = tooltip._div{ name=id, content='\n'..table.concat( list )..'\n\n' } return { tostring( button ) .. tostring( content ) } end --- Creates a link to [[Special:Search]] showing all pages found by getDynamicRequireList() in case it found more than MAX_DYNAMIC_REQUIRE_LIST_LENGTH pages. ---@param query string @This will be in a format like 'Module:Wowee/%' or 'Module:Wowee/%/data' ---@return string local function formatDynamicQueryLink( query ) local prefix = query:match( '^([^/]+)' ) local linkText = query:gsub( '%%', '&lt; ... &gt;' ) query = query:gsub( '^Module:', '' ) query = query:gsub( '([^/]+)/?', function ( match ) if match == '%' then return '\\/[^\\/]+' else return '\\/"' .. match .. '"' end end ) query = query:gsub( '^\\/', '' ) query = string.format( 'intitle:/%s%s/i -intitle:/%s\\/""/i -intitle:doc prefix:"%s"', query, query:find( '"$' ) and '' or '""', query, prefix ) return string.format( '<span class="plainlinks">[%s %s]</span>', tostring( mw.uri.fullUrl( 'Special:Search', { search = query } ) ), linkText ) end ---@param templateName string ---@param addCategories boolean ---@param invokeList table<string, string>[] @This is the list returned by getInvokeCallList() ---@return string local function formatInvokeCallList( templateName, addCategories, invokeList ) local category = addCategories and '[[Category:Lua-based templates]]' or '' local res = {} for _, item in ipairs( invokeList ) do table.insert( res, string.format( "<div class='seealso'>'''%s''' invokes function '''%s''' in [[%s]] using [[Brighter Shores:Lua|Lua]].</div>", templateName, item.funcName, item.moduleName ) ) end if #invokeList > 0 then table.insert( res, category ) end return table.concat( res ) end ---@param moduleName string ---@param addCategories boolean ---@param whatLinksHere string @A list generated by a dpl of pages in the Template or Calculator namespace which link to moduleName. ---@return string local function formatInvokedByList( moduleName, addCategories, whatLinksHere ) local function lcfirst( str ) return string.gsub( str, '^[Mm]odule:.', string.lower ) end local templateData = arr.map( whatLinksHere, function(x) return {templateName=x, invokeList=getInvokeCallList(x)} end ) templateData = arr.filter( templateData, function(x) return arr.any( x.invokeList, function(y) return lcfirst(y.moduleName) == lcfirst(moduleName) end ) end ) local invokedByList = {} for _, template in ipairs( templateData ) do for _, invoke in ipairs( template.invokeList ) do table.insert( invokedByList, string.format( "function '''%s''' is invoked by [[%s]]", invoke.funcName, template.templateName ) ) end end table.sort( invokedByList) local res = {} if #invokedByList > COLLAPSE_LIST_LENGTH_THRESHOLD then table.insert( res, string.format( "<div class='seealso'>'''%s''' is invoked by %s.</div>", moduleName, collapseList( invokedByList, 'invokedBy', 'templates' )[1] ) ) else for _, item in ipairs( invokedByList ) do table.insert( res, string.format( "<div class='seealso'>'''%s's''' %s.</div>", moduleName, item ) ) end end if #templateData > 0 then moduleIsUsed = true table.insert( res, (addCategories and '[[Category:Template invoked modules]]' or '') ) end return table.concat( res ) end ---@param moduleName string ---@param addCategories boolean ---@param whatLinksHere string @A list generated by a dpl of pages in the Module namespace which link to moduleName. ---@return string local function formatRequiredByList( moduleName, addCategories, whatLinksHere ) local childModuleData = arr.map( whatLinksHere, function ( title ) local lists = getRequireList( title ) return {name=title, requireList=lists.requireList, loadDataList=lists.loadDataList .. lists.loadJsonDataList} end ) local requiredByList = arr.map( childModuleData, function ( item ) if arr.any( item.requireList, function(x) return x:lower()==moduleName:lower() end ) then if item.name:find( '%%' ) then return formatDynamicQueryLink( item.name ) else return '[[' .. item.name .. ']]' end end end ) local loadedByList = arr.map( childModuleData, function ( item ) if arr.any( item.loadDataList, function(x) return x:lower()==moduleName:lower() end ) then if item.name:find( '%%' ) then return formatDynamicQueryLink( item.name ) else return '[[' .. item.name .. ']]' end end end ) if #requiredByList > 0 or #loadedByList > 0 then moduleIsUsed = true end if #requiredByList > COLLAPSE_LIST_LENGTH_THRESHOLD then requiredByList = collapseList( requiredByList, 'requiredBy', 'modules' ) end if #loadedByList > COLLAPSE_LIST_LENGTH_THRESHOLD then loadedByList = collapseList( loadedByList, 'loadedBy', 'modules' ) end local res = {} for _, requiredByModuleName in ipairs( requiredByList ) do table.insert( res, string.format( "<div class='seealso'>'''%s''' is required by %s.</div>", moduleName, requiredByModuleName ) ) end if #requiredByList > 0 then table.insert( res, (addCategories and '[[Category:Modules required by modules]]' or '') ) end for _, loadedByModuleName in ipairs( loadedByList ) do table.insert( res, string.format( "<div class='seealso'>'''%s''' is loaded by %s.</div>", moduleName, loadedByModuleName ) ) end if #loadedByList > 0 then table.insert( res, (addCategories and '[[Category:Module data]]' or '') ) end return table.concat( res ) end local function formatImportList( currentPageName, moduleList, id, message, category ) if #moduleList > COLLAPSE_LIST_LENGTH_THRESHOLD then moduleList = collapseList( moduleList, id, 'modules' ) end local res = arr.map( moduleList, function( moduleName ) return '<div class="seealso">' .. string.format( message, currentPageName, moduleName ) .. '</div>' end ) if #moduleList > 0 and category then table.insert( res, string.format( '[[Category:%s]]', category ) ) end return table.concat( res ) end local function formatUsedTemplatesList( currentPageName, addCategories, usedTemplateList ) local res = {} if #usedTemplateList > COLLAPSE_LIST_LENGTH_THRESHOLD then usedTemplateList = collapseList( usedTemplateList, 'usedTemplates', 'templates' ) end for _, templateName in ipairs( usedTemplateList ) do table.insert( res, string.format( "<div class='seealso'>'''%s''' transcludes %s using <samp>frame:preprocess()</samp>.</div>", currentPageName, templateName ) ) end return table.concat( res ) end function p.main( frame ) local args = frame:getParent().args return p._main( args[1], args.category, args.isUsed ) end ---@param currentPageName string|nil ---@param addCategories boolean|string|nil ---@return string function p._main( currentPageName, addCategories, isUsed ) libraryUtil.checkType( 'Module:RequireList._main', 1, currentPageName, 'string', true ) libraryUtil.checkTypeMulti( 'Module:RequireList._main', 2, addCategories, {'boolean', 'string', 'nil'} ) libraryUtil.checkTypeMulti( 'Module:RequireList._main', 3, isUsed, {'boolean', 'string', 'nil'} ) local title = mw.title.getCurrentTitle() -- Leave early if not in module, template or calculator namespace or if module is part of exchange or data groups if param.is_empty( currentPageName ) and ( ( not arr.contains( {'Module', 'Template', 'Calculator'}, title.nsText ) ) or ( title.nsText == 'Module' and ( arr.contains( {'Exchange', 'Exchange historical', 'Data'}, title.text:match( '^(.-)/' ) ) ) ) ) then return '' end currentPageName = param.default_to( currentPageName, title.fullText ) currentPageName = string.gsub( currentPageName, '/[Dd]oc$', '' ) currentPageName = formatPageName( currentPageName ) addCategories = yn( param.default_to( addCategories, title.subpageText~='doc' ) ) moduleIsUsed = yn( param.default_to( isUsed, false ) ) if title.text:lower():find( 'sandbox' ) then moduleIsUsed = true -- Don't show sandbox modules as unused end if currentPageName:find( '^Template:' ) or currentPageName:find( '^Calculator:' ) then local invokeList = getInvokeCallList( currentPageName ) return formatInvokeCallList(currentPageName, addCategories, invokeList) end local whatTemplatesLinkHere, whatModulesLinkHere = dpl.ask( { namespace = 'Template|Calculator', linksto = currentPageName, distinct = 'strict', ignorecase = true, ordermethod = 'title', allowcachedresults = true, cacheperiod = 604800 -- One week }, { namespace = 'Module', linksto = currentPageName, nottitlematch = '%/doc|Exchange/%|Exchange historical/%|Data/%|' .. currentPageName:gsub( 'Module:', '' ), distinct = 'strict', ignorecase = true, ordermethod = 'title', allowcachedresults = true, cacheperiod = 604800 -- One week } ) local lists = getRequireList( currentPageName, true ) local requireList = arr.map( lists.requireList, function ( moduleName ) if moduleName:find( '%%' ) then return formatDynamicQueryLink( moduleName ) elseif builtins[moduleName] then return '[[' .. builtins[moduleName].link .. '|' .. moduleName .. ']]' else return '[[' .. moduleName .. ']]' end end ) local loadDataList = arr.map( lists.loadDataList, function ( moduleName ) if moduleName:find( '%%' ) then return formatDynamicQueryLink( moduleName ) else return '[[' .. moduleName .. ']]' end end ) local loadJsonDataList = arr.map( lists.loadJsonDataList, function ( moduleName ) if moduleName:find( '%%' ) then return formatDynamicQueryLink( moduleName ) else return '[[' .. moduleName .. ']]' end end ) local usedTemplateList = arr.map( lists.usedTemplateList, function( templateName ) if string.find( templateName, ':' ) then -- Real templates are prefixed by a namespace, magic words are not return '[['..templateName..']]' else return "'''&#123;&#123;"..templateName.."&#125;&#125;'''" -- Magic words don't have a page so make them bold instead end end ) local res = {} table.insert( res, formatInvokedByList( currentPageName, addCategories, whatTemplatesLinkHere ) ) table.insert( res, formatImportList( currentPageName, requireList, 'require', "'''%s''' requires %s.", addCategories and 'Modules requiring modules' ) ) table.insert( res, formatImportList( currentPageName, loadDataList, 'loadData', "'''%s''' loads data from %s.", addCategories and 'Modules using data' ) ) table.insert( res, formatImportList( currentPageName, loadJsonDataList, 'loadJsonData', "'''%s''' loads data from %s.", addCategories and 'Modules using data' ) ) table.insert( res, formatUsedTemplatesList( currentPageName, addCategories, usedTemplateList ) ) table.insert( res, formatRequiredByList( currentPageName, addCategories, whatModulesLinkHere ) ) if addCategories then local extraCategories = arr.map( lists.extraCategories, function( categoryName ) return "[[Category:" .. categoryName .. "]]" end ) table.insert( res, table.concat( extraCategories ) ) end if not moduleIsUsed then table.insert( res, 1, messageBoxUnused( currentPageName:gsub( 'Module:', '' ), addCategories ) ) end return table.concat( res ) end return p 515022de5a245324f86fe1d3800de5d876075ca1 File:Hourglass (historical).png 6 695 1252 2024-03-24T14:41:32Z Merds 25 Uploaded with [[mw:Special:MyLanguage/Extension:SimpleBatchUpload|SimpleBatchUpload]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1254 1252 2024-03-24T14:43:43Z Merds 25 Merds uploaded a new version of [[File:Hourglass (historical).png]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1255 1254 2024-03-24T14:43:53Z Merds 25 Merds reverted [[File:Hourglass (historical).png]] to an old version wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1259 1255 2024-03-24T14:47:56Z Merds 25 Merds uploaded a new version of [[File:Hourglass (historical).png]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1260 1259 2024-03-24T14:54:56Z Merds 25 Merds uploaded a new version of [[File:Hourglass (historical).png]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1263 1260 2024-03-24T15:09:06Z Merds 25 Merds uploaded a new version of [[File:Hourglass (historical).png]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Trunk 0 685 1253 1240 2024-03-24T14:43:38Z BlackHawk 10 wikitext text/x-wiki {{Infobox Scenery |name = Trunk |image = [[File:Trunk.png]] |release = |episode = }} A '''trunk''' is a piece of interactable scenery that can be found in [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=24 March 2024|archiveurl=https://archive.is/whgCd|archivedate=24 March 2024|quote=}} ==References== {{Reflist}} 8ce20875a76db2fc6acfa94da66072e06d725353 File:Old trunk.png 6 696 1256 2024-03-24T14:47:02Z BlackHawk 10 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1257 1256 2024-03-24T14:47:15Z BlackHawk 10 wikitext text/x-wiki [[Category:Scenery images]] 4211c47bd425933fe892ec95a0e868286d7edfca Old trunk 0 697 1258 2024-03-24T14:47:24Z BlackHawk 10 Created page with "{{Infobox Scenery |name = Old trunk |image = [[File:Old trunk.png]] |release = |episode = }} A '''old trunk''' is a piece of interactable scenery that can be found in [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=24 March 2024|archiveurl=https://archive.is/whgCd|archivedate=24 March 2024|quote=}} ==References== {{Reflist}}" wikitext text/x-wiki {{Infobox Scenery |name = Old trunk |image = [[File:Old trunk.png]] |release = |episode = }} A '''old trunk''' is a piece of interactable scenery that can be found in [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=24 March 2024|archiveurl=https://archive.is/whgCd|archivedate=24 March 2024|quote=}} ==References== {{Reflist}} b9a91a5abd0b689771df4bc86d74c80b8ec50b52 Template:Infobox Scenery 10 690 1261 1245 2024-03-24T15:02:43Z InvalidCards 4 wikitext text/x-wiki {| class="wikitable infobox-scenery" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{{image}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |}{{Mainonly|[[Category:Scenery]]}}<noinclude>{{clear}}{{/doc}}</noinclude> f042f8bb11c4dd50541d1a126c149758dc3d9389 Template:Infobox Item 10 77 1262 1243 2024-03-24T15:03:00Z InvalidCards 4 wikitext text/x-wiki {| class="wikitable infobox-item" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{{image}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{#if:{{{profession|}}}|{{{profession}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing profession]]}}}} |- |<b>Value</b>||{{#if:{{{value|}}}|{{{value}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing value]]}}}} |}{{Mainonly|[[Category:Items]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 752284047d129e66d0e8de5c2621f6e10946fbf8 Module:SMW Utils 828 698 1264 2024-03-24T15:45:38Z Gau Cho 5 Created page with "-- Helpers functions for SMW local p = {} --[[ Returns a boolean, whether the provided string is a valid subobject name Invalid subobject names are: '', '0', and any string with a '.' in the first 5 characters --]] function p.valid_subobject_name(arg) if arg == '0' or arg == '' then return false end if mw.ustring.find(mw.ustring.sub(arg, 1, 5), '.', 1, true) then return false end return true end return p" Scribunto text/plain -- Helpers functions for SMW local p = {} --[[ Returns a boolean, whether the provided string is a valid subobject name Invalid subobject names are: '', '0', and any string with a '.' in the first 5 characters --]] function p.valid_subobject_name(arg) if arg == '0' or arg == '' then return false end if mw.ustring.find(mw.ustring.sub(arg, 1, 5), '.', 1, true) then return false end return true end return p 6687154ef61d2e2cdb36d476f6f3bb80aae3a500 Module:Infobox 828 102 1265 1244 2024-03-24T15:58:14Z Gau Cho 5 Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local smw = require('Module:SMW Utils') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- args : parameters from frame to pass through -- Sets a meta table and creates a <div> tag wrapper -- other fields are initialized in other functions --]] function Infobox.new(args) local obj = setmetatable({ args = args, -- parameters (uncleaned) infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) errors = {} -- list of errors }, Infobox) obj:parse_versions() return obj end -- Defines an infobox name ({{Template:arg}}) -- Used to create a link at the bottom of pages and for css function Infobox:define_name(arg) self.infobox_name = arg end --[[ Function for defining parameters -- name : parameter name -- func : function to define param, defaults to looking at blanks DO NOT DEFINE VERSION HERE USE :maxVersion() Can be used any number of times for efficient definition --]] function Infobox:define_params(...) for _, v in ipairs(...) do -- For every parameter, store its corresponding function to self.params if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property and type(v.smw_property == 'string') then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Counts the number of versions in the infobox Also validates the names of all the versions to be valid SMW subobjects --]] function Infobox:parse_versions() -- Count the versions local i = 1 while self.args['version'..i] do -- Validate and register the version name local version_name = self.args['version'..i] if not smw.valid_subobject_name(version_name) then table.insert(self.errors, 'Invalid Version Name (must not be "0", "" or contain a "." in the first 5 characters): version'..i..'='..version_name) version_name = '###'..i..'_'..version_name end table.insert(self.version_names, version_name) i = i + 1 end self.versions = i - 1 end function Infobox.param(paramname) param = { property = 'Param', name = paramname, } return param end function Infobox.raw_param(paramname) param = { property = 'Raw Param', name = paramname, } return param end function Infobox:dump() mw.log(mw.dumpObject(self)) end return Infobox e42a8272cc1ea73a0d60d47fc983b31f550927e7 1296 1265 2024-03-24T22:26:49Z Gau Cho 5 WIP Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local edit = editbutton("'''?''' (edit)") local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- infobox_name: the name of the infobox -- args : parameters from frame to pass through -- Special args: version, default_version -- Sets a meta table and creates a <div> tag wrapper -- other fields are initialized in other functions --]] function Infobox.new(infobox_name, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = nil, -- datatable for javascript for switch infoboxes errors = {}, -- list of errors }, Infobox) obj.infobox_name = mw.ustring.gsub(infobox_name, '%s', '_') obj:parse_versions() obj:create() return obj end --[[ Function for defining parameters -- name : parameter name -- func : function to define param, defaults to looking at blanks DO NOT DEFINE VERSION HERE USE :maxVersion() Can be used any number of times for efficient definition --]] function Infobox:define_params(...) for _, v in ipairs(...) do -- For every parameter, store its corresponding function to self.params if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end self.params[v.name] = param table.insert(self.param_names, v.name) end end self:parse_params() return self end --[[ Counts the number of versions in the infobox, and populates version_names --]] function Infobox:parse_versions() -- Count the versions local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - might have a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) end end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a table generated from Infobox:param(), Infobox:raw_param() or Infobox:smw_param(), or else -- version: '' for default, or else a number --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] if value == nil then -- Try to get default value if it exists value = self[arg.property][arg.param_name] end return value end -- Other (int, string) return arg end --[[ Calculates the parsed value of a param -- param_name : string, name of the param -- version : 0/'' for default, or else a number -- smw : boolean, whether to use the smw function or default function --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0,self.versions do if version == 0 then version = '' -- default version end -- Only get the parsed value if the raw value is defined if self.args_raw[param_name..version] then self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end end function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end ----------- -- Table -- ----------- function Infobox:create() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Add necessary class if switch infobox if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') self.switch_datatable:tag('span'):wikitext('Versions: '..self.versions) self.switch_datatable:tag('span'):wikitext('Default version: '..self.default_version) end end --[[ Add parameters functions All parameters should be tables The first parameter defines the type of cell to create -- tag = 'th' or 'td' The second parameter defines what is inside the tag -- content = string or Infobox.param Additional named parameters can be used to add any styling or attributes -- attr : mw.html:attr({ arg1 = '1', ... }) -- css : mw.html:css({ arg1 = '1', ...) -- class : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not -- rowspan : mw.html:attr('rowspan',arg) -- colspan : mw.html:attr('colspan',arg) -- title : mw.html:attr('title',arg) Example: ipsobox:addRow( { 'th' , 'Header', title = 'Title' }, { 'argh', 'arg1', class = 'parameter' } }) produces: <tr><th title="Title">Header</th><th class="parameter">args.arg1</th></tr> adding it to the infobox table of ipsobox Cells defined as 'argh' and 'argd' will automatically have data-attr-param="" added, and defined as the passed argument if the infobox in creation is defined as a switch infobox The row itself may be modified with metadata using the named index "addClass' -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_switch_data(content) -- Only check for params if there are multiple versions if self.versions <= 1 then return false end if type(content) ~= 'table' then return false end -- Only if the data varies between the different versions local first_value = self:get_param(cell_params.content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(cell_params.content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- Prepend raw_ or smw_ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw_' + name end if content.property == 'args_smw' then name = 'smw_' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = edit end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end function Infobox:add_row(...) -- New row to add local args = ... local _row = self.rtable:tag('tr') -- For each member of tags for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- mw.html:attr() and mw.html:css() both accept table input -- colspan, rowspan, title will be quick ways to access attr -- these functions also do all the necessary work if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end -- if class is a string, it can be added directly -- if a table, add every value -- mw.html:addClass() doesn't function with tables -- so iterate over the class names here and add them individually if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Make sure that all params are only called from Infobox.param(), and not raw_param() nor smw_param() if type(v.content) == 'table' and v.content.property ~= 'args_parsed' then table.insert(table.errors, 'Only Infobox.param() can be used in addRow, not Infobox.raw_param() nor Infobox.smw_param()! '..mw.dumpObject(args)) end content = Infobox:get_param(v.content, self.default_version) if content == nil then content = edit end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end -- Override tostring function Infobox:tostring() -- If not finished, finish if not self.__finished then self:finish() end error_text = '' if #self.errors > 0 then for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end end return tostring(self.rtable) .. tostring(self.switch_datatable) .. tostring(error_text) end function Infobox:dump() mw.log(mw.dumpObject(self)) end return Infobox bf3cec542076037576cbb3f1de6c6545138366c9 1297 1296 2024-03-25T02:55:34Z Gau Cho 5 Barebones functional infobox module, WIP Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local edit = editbutton("'''?''' (edit)") local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- infobox_name: the name of the infobox -- args : parameters from frame to pass through -- Special args: version, default_version -- Sets a meta table and creates a <div> tag wrapper -- other fields are initialized in other functions --]] function Infobox.new(infobox_name, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = nil, -- datatable for javascript for switch infoboxes errors = {}, -- list of errors }, Infobox) obj.infobox_name = mw.ustring.gsub(infobox_name, '%s', '_') obj:parse_versions() obj:create() return obj end --[[ Function for defining parameters -- name : parameter name -- func : function to define param, defaults to looking at blanks DO NOT DEFINE VERSION HERE USE :maxVersion() Can be used any number of times for efficient definition --]] function Infobox:define_params(...) for _, v in ipairs(...) do -- For every parameter, store its corresponding function to self.params if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end self.params[v.name] = param table.insert(self.param_names, v.name) end end self:parse_params() return self end --[[ Counts the number of versions in the infobox, and populates version_names --]] function Infobox:parse_versions() -- Count the versions local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - might have a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) end end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a table generated from Infobox:param(), Infobox:raw_param() or Infobox:smw_param(), or else -- version: '' for default, or else a number --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] if value == nil then -- Try to get default value if it exists value = self[arg.property][arg.param_name] end return value end -- Other (int, string) return arg end --[[ Calculates the parsed value of a param -- param_name : string, name of the param -- version : 0/'' for default, or else a number -- smw : boolean, whether to use the smw function or default function --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0,self.versions do if version == 0 then version = '' -- default version end -- Only get the parsed value if the raw value is defined if self.args_raw[param_name..version] then self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end end function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end ----------- -- Table -- ----------- function Infobox:create() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Add necessary class if switch infobox if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') self.switch_datatable:tag('span'):wikitext('Versions: '..self.versions) self.switch_datatable:tag('span'):wikitext('Default version: '..self.default_version) end return self end --[[ Add parameters functions All parameters should be tables The first parameter defines the type of cell to create -- tag = 'th' or 'td' The second parameter defines what is inside the tag -- content = string or Infobox.param Additional named parameters can be used to add any styling or attributes -- attr : mw.html:attr({ arg1 = '1', ... }) -- css : mw.html:css({ arg1 = '1', ...) -- class : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not -- rowspan : mw.html:attr('rowspan',arg) -- colspan : mw.html:attr('colspan',arg) -- title : mw.html:attr('title',arg) Example: ipsobox:addRow( { 'th' , 'Header', title = 'Title' }, { 'argh', 'arg1', class = 'parameter' } }) produces: <tr><th title="Title">Header</th><th class="parameter">args.arg1</th></tr> adding it to the infobox table of ipsobox Cells defined as 'argh' and 'argd' will automatically have data-attr-param="" added, and defined as the passed argument if the infobox in creation is defined as a switch infobox The row itself may be modified with metadata using the named index "addClass' -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_switch_data(content) -- Only check for params if there are multiple versions if self.versions <= 1 then return false end if type(content) ~= 'table' then return false end -- Only if the data varies between the different versions local first_value = self:get_param(cell_params.content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(cell_params.content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- Prepend raw__ or smw$<__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = edit end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end function Infobox:add_row(...) -- New row to add local args = ... local _row = self.rtable:tag('tr') -- For each member of tags for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- mw.html:attr() and mw.html:css() both accept table input -- colspan, rowspan, title will be quick ways to access attr -- these functions also do all the necessary work if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end -- if class is a string, it can be added directly -- if a table, add every value -- mw.html:addClass() doesn't function with tables -- so iterate over the class names here and add them individually if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end local content = Infobox:get_param(v.content, self.default_version) if content == nil then content = edit end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end -- Override tostring function Infobox:tostring() error_text = '' if #self.errors > 0 then for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end end return tostring(self.rtable) .. tostring(self.switch_datatable) .. tostring(error_text) end function Infobox:dump() mw.log(mw.dumpObject(self)) mw.log(tostring(self)) end return Infobox a7f8cd9260ae4128e327fe6134eecd9ee35b3bb1 File:Hammermage icon.svg 6 473 1266 1096 2024-03-24T16:33:55Z Merds 25 Merds uploaded a new version of [[File:Hammermage icon.svg]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1267 1266 2024-03-24T16:37:15Z Merds 25 Merds uploaded a new version of [[File:Hammermage icon.svg]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Cryoknight icon.svg 6 472 1268 1097 2024-03-24T16:37:50Z Merds 25 Merds uploaded a new version of [[File:Cryoknight icon.svg]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Guardian icon.svg 6 474 1269 1094 2024-03-24T16:37:54Z Merds 25 Merds uploaded a new version of [[File:Guardian icon.svg]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Hammermage potion 0 632 1270 1082 2024-03-24T16:41:00Z InvalidCards 4 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |image=[[File:Hammermage potion.png|50px]] |episode=Hopeport |profession=Alchemist |value=330 }} The '''Hammermage potion''' is a type of [[potion]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] 31e3e8edb3b603b3411f32f65c102d9fda4d38fc Template:Detailed item license 10 699 1271 2024-03-24T16:46:43Z Merds 25 Created page with "{{License | type = [[:Category:Detailed item images|Detailed item]] | typeid = detailed-item-license | subject = {{#if:{{{1|}}}|[[{{#replace:{{#replace:{{{1}}}|]|}}|[|}}]]|{{unknown}}}} | datatype = item-id | datavalue = {{{id|}}} }}{{PreloadPage}}{{Fileonly| [[Category:Detailed item images]] {{#if:{{{id|}}}||[[Category:Detailed item images without ID]]}} {{Image categories|{{{1}}}}} {{MultiID|Item ID (Image)|{{{id|}}}|noall=y|cat=n}} }}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{License | type = [[:Category:Detailed item images|Detailed item]] | typeid = detailed-item-license | subject = {{#if:{{{1|}}}|[[{{#replace:{{#replace:{{{1}}}|]|}}|[|}}]]|{{unknown}}}} | datatype = item-id | datavalue = {{{id|}}} }}{{PreloadPage}}{{Fileonly| [[Category:Detailed item images]] {{#if:{{{id|}}}||[[Category:Detailed item images without ID]]}} {{Image categories|{{{1}}}}} {{MultiID|Item ID (Image)|{{{id|}}}|noall=y|cat=n}} }}<noinclude>{{/doc}}</noinclude> bf309335a7063fb5b0553a04bd386885a1c2ffdb Template:Detailed item license/doc 10 700 1272 2024-03-24T16:47:55Z Merds 25 Created page with "{{Documentation}} The template should be added to pages of [[:Category:Detailed item images|Detailed item images]]. <pre>{{DII license|Name of item|id=ID of the item}}</pre> To automatically include the name of a subject, the following can be used (change 11 to the number of characters to be removed): <pre>{{DII license|{{subst:#sub:{{subst:PAGENAME}}|0|-11}}|id=}}</pre> <includeonly>[[Category:Copyright templates|{{PAGENAME}}]]</includeonly>" wikitext text/x-wiki {{Documentation}} The template should be added to pages of [[:Category:Detailed item images|Detailed item images]]. <pre>{{DII license|Name of item|id=ID of the item}}</pre> To automatically include the name of a subject, the following can be used (change 11 to the number of characters to be removed): <pre>{{DII license|{{subst:#sub:{{subst:PAGENAME}}|0|-11}}|id=}}</pre> <includeonly>[[Category:Copyright templates|{{PAGENAME}}]]</includeonly> 47836568f38ebe49d0ccb1010d1ec30ceb29c64b Category:Detailed item images 14 701 1273 2024-03-24T16:49:36Z Merds 25 Created page with "{{Categoryheader|images|detailed items|yes|[[Template:Detailed item license]]}} {{Category ABC}} [[Category:Item images]]" wikitext text/x-wiki {{Categoryheader|images|detailed items|yes|[[Template:Detailed item license]]}} {{Category ABC}} [[Category:Item images]] 566ad615a5813fc5ba26902ccd9c5de203909697 Template:DII license 10 702 1274 2024-03-24T16:50:18Z Merds 25 Redirected page to [[Template:Detailed item license]] wikitext text/x-wiki #REDIRECT [[Template:Detailed item license]] 1453d60f561b27a3571f044ae105e61048135e0e Template:Category ABC 10 703 1275 2024-03-24T16:51:33Z Merds 25 Created page with "<div class="tile" role="navigation" id="toc" style="text-align: center; margin: 1.5em auto; padding: 1em 2em; width: fit-content; max-width: initial"> '''Jump to'''<br> [[:{{FULLPAGENAME}}|Start]] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=A}} A] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=B}} B] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=C}} C] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=D}} D] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=E}} E] {{*}} [{{fullurl:{{FULLPAGEN..." wikitext text/x-wiki <div class="tile" role="navigation" id="toc" style="text-align: center; margin: 1.5em auto; padding: 1em 2em; width: fit-content; max-width: initial"> '''Jump to'''<br> [[:{{FULLPAGENAME}}|Start]] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=A}} A] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=B}} B] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=C}} C] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=D}} D] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=E}} E] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=F}} F] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=G}} G] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=H}} H] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=I}} I] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=J}} J] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=K}} K] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=L}} L] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=M}} M] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=N}} N] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=O}} O] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=P}} P] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=Q}} Q] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=R}} R] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=S}} S] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=T}} T] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=U}} U] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=V}} V] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=W}} W] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=X}} X] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=Y}} Y] {{*}} [{{fullurl:{{FULLPAGENAME}}|pagefrom=Z}} Z] </div><noinclude>{{/doc}}</noinclude> b5323f486a32f895884531a7abdab73475f418c1 Template:Category ABC/doc 10 704 1276 2024-03-24T16:52:57Z Merds 25 Created page with "{{Documentation}} This template displays a navigation bar to sort through larger categories. ==Usage== This template can be used by entering the following onto a relevant page. <pre>{{Category ABC}}</pre> {{TemplateData|<templatedata> { "params": {}, "description": "This template displays a navigation bar to sort through larger categories.", "format": "inline" } </templatedata> }} <includeonly>[[Category:Navigational templates|{{PAGENAME}}]]</includeonly>" wikitext text/x-wiki {{Documentation}} This template displays a navigation bar to sort through larger categories. ==Usage== This template can be used by entering the following onto a relevant page. <pre>{{Category ABC}}</pre> {{TemplateData|<templatedata> { "params": {}, "description": "This template displays a navigation bar to sort through larger categories.", "format": "inline" } </templatedata> }} <includeonly>[[Category:Navigational templates|{{PAGENAME}}]]</includeonly> 6f4297cdc47c6045403f06b49efc7178c0d42e76 Template:License 10 705 1277 2024-03-24T16:56:07Z Merds 25 Created page with "{| class="messagebox file" {{#if:{{{typeid|}}}|id="{{{typeid}}}"|}} {{#if:{{{datavalue|}}}|data-{{{datatype|}}}="{{{datavalue}}}"|}} | width="40px" | [[File:Copyright.svg|40px|center|link=]] | '''This is licensed media of a copyrighted computer game.'''<br><!-- --><div style="font-size:0.85em; line-height:1.4em"><!-- -->'''Type:''' {{{type}}}<br><!-- -->'''Subject:''' {{{subject}}}<br><!-- -->{{#if:{{{datavalue|}}}|'''{{#if:{{{dataprefix|}}}|{{ucfirst:{{{dataprefix}}}}}&..." wikitext text/x-wiki {| class="messagebox file" {{#if:{{{typeid|}}}|id="{{{typeid}}}"|}} {{#if:{{{datavalue|}}}|data-{{{datatype|}}}="{{{datavalue}}}"|}} | width="40px" | [[File:Copyright.svg|40px|center|link=]] | '''This is licensed media of a copyrighted computer game.'''<br><!-- --><div style="font-size:0.85em; line-height:1.4em"><!-- -->'''Type:''' {{{type}}}<br><!-- -->'''Subject:''' {{{subject}}}<br><!-- -->{{#if:{{{datavalue|}}}|'''{{#if:{{{dataprefix|}}}|{{ucfirst:{{{dataprefix}}}}}&nbsp;}}ID:''' {{{datavalue}}}<br>}}<!-- -->''{{{text|This file is taken from [https://https://brightershores.com Brightershores.com].}}}''<!-- --></div> |}<noinclude>{{/doc}}</noinclude> 15d895b36301a3c30863581014cfaaab5d21d140 Template:License/doc 10 706 1278 2024-03-24T16:56:38Z Merds 25 Created page with "{{Documentation}} This is the parent template for file licenses. ==Usage== <pre>{{License |type = type |typeid = ID to add to the wrapping HTML element (optional) |subject = subject |datatype = create a "data-<datatype>" HTML element attribute (optional) |datavalue = value to assign to the "data-<datatype>" attribute (optional) |dataprefix = text to be shown before the "ID:" parameter label (optional) }}</pre> Typically subject will default to ''Unknown'' or link to the..." wikitext text/x-wiki {{Documentation}} This is the parent template for file licenses. ==Usage== <pre>{{License |type = type |typeid = ID to add to the wrapping HTML element (optional) |subject = subject |datatype = create a "data-<datatype>" HTML element attribute (optional) |datavalue = value to assign to the "data-<datatype>" attribute (optional) |dataprefix = text to be shown before the "ID:" parameter label (optional) }}</pre> Typically subject will default to ''Unknown'' or link to the subject, but the implementation is left to the individual template to alter as required. Typically, the type of ID given in <code>datavalue</code> can be determined based on the <code>type</code> license type. For licenses where that may not be true (e.g. the ID could refer to the ID of an item and its inventory icon ''or'' the ID could refer to a sprite), <code>dataprefix</code> may be specified to prepend clarifying text (e.g. "Sprite" or "Item") to the "ID:" label. <includeonly>[[Category:Copyright templates]]</includeonly> 5eac6659869343c87d097617bf44f5cabb10a6f8 Template:Unknown 10 707 1279 2024-03-24T16:57:34Z Merds 25 Created page with "<includeonly>Unknown{{#if:{{{1|}}}|&nbsp;{{{1}}}}} <span class="small plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} (edit)]</span></includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>Unknown{{#if:{{{1|}}}|&nbsp;{{{1}}}}} <span class="small plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} (edit)]</span></includeonly><noinclude>{{/doc}}</noinclude> 7cf0ceddc595b5c6953c4d52aa7f4cd8c3bfccf8 Template:Unknown/doc 10 708 1280 2024-03-24T16:57:46Z Merds 25 Created page with "{{documentation}} This template can be used in infoboxes to display "Unknown" with the link to edit the page. ==Usage== This template can be used by entering the following onto a relevant page. An unnamed parameter can be used to add text after ''Unknown''. <pre>{{Unknown}}</pre> {{Unknown}} <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly>" wikitext text/x-wiki {{documentation}} This template can be used in infoboxes to display "Unknown" with the link to edit the page. ==Usage== This template can be used by entering the following onto a relevant page. An unnamed parameter can be used to add text after ''Unknown''. <pre>{{Unknown}}</pre> {{Unknown}} <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> 248df72688f96a98360773f75a2bb0eae9b3bcdc Template:PreloadPage 10 709 1281 2024-03-24T16:58:27Z Merds 25 Created page with "<onlyinclude>{{#ifeq:{{NAMESPACE}}|Template|{{#ifeq:{{lc:{{#sub:{{PAGENAME}}|-7}}}}|preload|{{clear}}<br /><hr />This page is a preload template. Simply click one of the template preloads from the menu in the editor and its contents will be placed on the page that you are editing. More info on preloads can be found at this [[Template:PreloadPage/doc|documentation page]].[[Category:Preload templates]]}}}}</onlyinclude> {{/doc}} [[Category:Maintenance templates]]" wikitext text/x-wiki <onlyinclude>{{#ifeq:{{NAMESPACE}}|Template|{{#ifeq:{{lc:{{#sub:{{PAGENAME}}|-7}}}}|preload|{{clear}}<br /><hr />This page is a preload template. Simply click one of the template preloads from the menu in the editor and its contents will be placed on the page that you are editing. More info on preloads can be found at this [[Template:PreloadPage/doc|documentation page]].[[Category:Preload templates]]}}}}</onlyinclude> {{/doc}} [[Category:Maintenance templates]] b4f4ab01e45e1ccf918fc22ebfb57341c6685e3e Template:PreloadPage/doc 10 710 1282 2024-03-24T16:58:48Z Merds 25 Created page with "{{Documentation}} This template is mainly for the sake of categorising preload templates. Place the code on the parent template and make sure that it is part of the transclusion (it cannot be within no include tags or outside includeonly). The template works by allowing the categories to be transcluded only on template:namespace pages that end with the word preload. It works because the preload templates actually use the template's code itself within them. <pre> {{Prelo..." wikitext text/x-wiki {{Documentation}} This template is mainly for the sake of categorising preload templates. Place the code on the parent template and make sure that it is part of the transclusion (it cannot be within no include tags or outside includeonly). The template works by allowing the categories to be transcluded only on template:namespace pages that end with the word preload. It works because the preload templates actually use the template's code itself within them. <pre> {{PreloadPage}} </pre> All preload pages are listed below by dynamic page list (meaning that it does not need to be updated manually); however, for the preload to be available, [[Template:Stdpreloads]] '''will''' need to be updated manually. After which, you should clear your cache to allow the change to be visible {{MediaWiki:Clearyourcache}} ---- ;There are currently {{PAGESINCAT:Preload templates}} preload templates <DPL> namespace = Template titlematch = %/preload|%/Preload category = Preload_templates replaceintitle = %/preload%, ordermethod = title columns = 3 format = ,\n,*[[%PAGE%|%TITLE%]] </DPL> {{#if:<references />}} <includeonly>[[Category:Main page templates]]</includeonly> ba48dd2903b9a9ff761fc740a60c198b00eec45d File:Cryoknight icon detail.png 6 711 1283 2024-03-24T17:00:48Z Merds 25 {{DII license|Cryoknight}} wikitext text/x-wiki == Summary == {{DII license|Cryoknight}} 212d81b1a09287a855af2f8cc23fbabcfd6b3f0a 1284 1283 2024-03-24T17:01:10Z Merds 25 Merds moved page [[File:CRYOKNIGHT icon detail.png]] to [[File:Cryoknight icon detail.png]] without leaving a redirect wikitext text/x-wiki == Summary == {{DII license|Cryoknight}} 212d81b1a09287a855af2f8cc23fbabcfd6b3f0a Cryoknight 0 69 1285 815 2024-03-24T17:01:19Z Merds 25 wikitext text/x-wiki [[File:Cryoknight icon detail.png|left|100px]] '''Cryoknight''' ([[File:Cryoknight icon.svg|18px]]) is a [[faction]] which specialises in using melee weapons in [[combat]]. {{Classes}} 870157b83b057085a95d716fcc8fc1ee99ee1fb2 Guardian 0 70 1286 816 2024-03-24T17:02:17Z Merds 25 wikitext text/x-wiki [[File:Guardian icon detail.png|100px|left]] '''Guardian''' ([[File:Guardian icon.svg|18px]]) is a [[faction]] which specialises in using ranged weapons in [[combat]]. {{Classes}} 1b755e0c6b6e970cf8e1232b64ebf7edc40b3c8b Hammermage 0 71 1287 817 2024-03-24T17:02:22Z Merds 25 wikitext text/x-wiki [[File:Guardian icon detail.png|100px|left]] '''Hammermage''' ([[File:Hammermage icon.svg|18px]]) is a [[faction]] which specialises in using magic weapons in [[combat]]. {{Classes}} 6d6c65c1a8ba6fc4ee96e6715b34914f988dcbca 1288 1287 2024-03-24T17:02:27Z Merds 25 wikitext text/x-wiki [[File:Hammermage icon detail.png|100px|left]] '''Hammermage''' ([[File:Hammermage icon.svg|18px]]) is a [[faction]] which specialises in using magic weapons in [[combat]]. {{Classes}} ea04fefe5bd44d26f5cc43f516374fd722cf4bd8 File:Hammermage icon detail.png 6 712 1289 2024-03-24T17:02:49Z Merds 25 {{DII license|Hammermage}} wikitext text/x-wiki == Summary == {{DII license|Hammermage}} da2a92cb52ff35a99e6898fc0079909eb4f6fbd7 File:Guardian icon detail.png 6 713 1290 2024-03-24T17:03:12Z Merds 25 {{DII license|Guardian}} wikitext text/x-wiki == Summary == {{DII license|Guardian}} 8cc15c6048a628034954f9c8c1642bac330c274d Template:Main Page/Discord 10 364 1291 1109 2024-03-24T17:24:57Z Jayden 3 wikitext text/x-wiki <noinclude>{{/doc}}</noinclude><div class="mainpage-social mainpage-discord tile-halves plainlinks"> <div class="tile-top"> <div class="social-icon">[[File:Discord logo icon.svg|40px|link=]]</div> [https://discord.gg/T8hfvcd2Vp <div class="arrow nomobile"></div><p class="social-header">Brighter Shores Wiki</p><p class="server-tagline">Join our server!</p>] </div> <div class="tile-bottom"> <p>Official Wiki Discord</p> </div> </div> c46e3e2ce8a87d4f5f33461da54100c497f33c26 1292 1291 2024-03-24T19:29:59Z Jayden 3 wikitext text/x-wiki <noinclude>{{/doc}}</noinclude><div class="mainpage-social mainpage-discord tile-halves plainlinks"> <div class="tile-top"> <div class="social-icon">[[File:Discord logo icon.svg|40px|link=]]</div> [https://discord.gg/T8hfvcd2Vp <div class="arrow nomobile"></div><p class="social-header">Brighter Shores Wiki</p><p class="server-tagline">Join our server!</p>] </div> <div class="tile-bottom"> <p>Wiki Discord</p> </div> </div> 353cbfbefdaf1ca0221043f85b4ef5dd7bd1de9c Template:Main Page/Header 10 45 1293 421 2024-03-24T20:52:11Z Merds 25 ! wikitext text/x-wiki <div class="mainpage-header"> <div class="header-intro"> <h1>Welcome to the Brighter Shores Wiki!</h1> <p>We are the wiki for ''[[Brighter Shores]]'', an upcoming medieval MMORPG developed by [[Andrew Gower]], featuring hundreds of hours of gameplay.</p> </div> <div class="header-stats plainlist nomobile"> <ul> <li>Number of articles: '''{{NUMBEROFARTICLES}}'''</li> <li>Number of files: '''{{NUMBEROFFILES}}'''</li> <li>Number of active users: '''{{NUMBEROFACTIVEUSERS}}'''</li> <li>Number of edits: '''{{NUMBEROFEDITS}}'''</li> </ul> </div> </div> b2be346edde5bf0881ae0f27c4bc7b9943c47f5e File:White-chevron.svg 6 714 1294 2024-03-24T20:55:09Z Merds 25 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Brighter Shores:Orphanage 4 368 1295 685 2024-03-24T20:57:03Z Merds 25 /* UI Icons */ wikitext text/x-wiki {{Otheruses|orphaned pages, templates, and files|the policy on article ownership|Brighter Shores:Ownership}} {{Shortcut|BS:ORPHAN|BS:O}} '''Brighter Shores:Orphanage''' is a place where '''orphaned pages and files''' are "stored" to prevent them from appearing in [[Special:LonelyPages]] and [[Special:UnusedFiles]]. <span style="color:red; font-weight:bold">Pages (or images) should not be linked here just because they appear in these special pages, but linked because they are "orphans".</span> (See the definition of "orphan" below.) ==What is an orphan?== There are several factors that can classify an article as an orphan: *'''Orphan:''' An article with '''<span style="color:red">fewer than three</span>''' incoming links which meet the criteria for linking below. *'''Isolated article:''' An article that cannot be reached via a series of links from the [[Brighter Shores Wiki|Main Page]]. *'''Walled garden:''' A group of articles that link to each other, but have few or no links to them from any other Brighter Shores Wiki articles. In effect, that group is orphaned. Theoretically, a walled garden could have numerous articles if they all link to each other but no others link to them. *'''Orphaned project page:''' A project page (starting with "Brighter Shores:") with few or no links from other project pages. Essays are most likely to be orphaned. *'''Orphaned image:''' An image not used on Brighter Shores Wiki directly. ==What is the problem with an orphaned article?== '''A company with no advertising will not be known to others, and as a result, will get few if any customers.''' Likewise, orphaned articles, since they have few links to them from other pages, are difficult to find, and are most likely to be found only by chance. Because of this, few people know they exist, and therefore, they get less readership and improvement from those who would be able to improve them. In particular, if the topic is more obscure, this may make it difficult for many to locate. If not for links to a page, the only way such an article can be found is by a person who knows the topic entering it into Brighter Shores Wiki or doing a web search, browsing a category in which it is contained, looking at the edit history of a contributor to the page, or having it show up as a random article. ==Criteria== An article is orphaned if '''<span style="color:red">fewer than three</span>''' other articles link to it. '''Currently our priority is to focus on orphans with NO incoming links at all.''' For the purposes of the strict definition, the following pages do not count toward the three incoming links: *Disambiguation pages *Redirects *Lists *Discussion pages of articles *Pages outside of article space Ideally, except for disambiguation links, '''disambiguation pages should be orphaned'''. The only pages that should link to them are articles bearing the title (via templates such as [[Template:Redirect]]) and "See also" sections of other disambiguation pages (when separate disambiguation pages are created due to long length or variances in the titles). ==List of orphaned articles== A list of orphaned articles can be found at [[Special:LonelyPages]] {{Construction}} ==Disambiguation pages== {{Main|/Disambiguation pages}} '''Disambiguation pages''' are created in order to resolve conflicts in article titles that occur when a single term can be associated with more than one topic, making that term likely to be the natural title for more than one article. In other words, disambiguations are paths leading to different articles which could, in principle, have the same title. ==Templates== A list of orphaned templates can be found here: [[Special:UnusedTemplates]] ===Signatures=== Orphaned signatures can be found here: [[Template:Signatures/List]] ===Miscellaneous templates=== Miscellaneous orphaned templates can be found here: [[Brighter Shores:Orphanage/Templates]] ==Gallery of orphaned files== {{incomplete|Compile all orphaned files, and explain their uses.}} Some files may appear in the [[Special:UnusedFiles|Unused Files]] list if they are not directly used in an article. These files are considered '''orphaned files'''. ===General=== <gallery orientation=landscape> Wiki@2x.png </gallery> ===UI Icons=== UI Icons <gallery> Section anchor light.svg|Anchor icon for section headers White-chevron.svg </gallery> [[Category:Brighter Shores Wiki community]] c212ca0a0920f26a1059f9a41aa767f62c34e24f Strength Cryonae 0 647 1298 1077 2024-03-25T07:22:39Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = [[File:Cryoknight potion.png]] |release = |profession = Alchemist |value = }} '''Cryoknight potions''' are a type of [[potion]].<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] c1a25567af4984a93091e18745fc3d6829e59a78 Health potion 0 645 1299 1078 2024-03-25T07:23:36Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = [[File:Health potion.png]] |release = |profession = Alchemist |value = }} '''Health potions''' are a type of [[potion]]<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref>, most likely used to restore one's health in [[combat]]. ==References== {{Reflist}} [[Category:Potions]] f4738a9c1bec35280aa2c28cbf5535eab5bb74c9 Merchant potion 0 636 1300 1081 2024-03-25T07:24:29Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = [[File:Merchant potion.png]] |release = |episode = Hopeport |profession = [[Alchemist]] |value = 18 }} The '''Merchant potion''' is a type of [[potion]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] 75a814fb5695bd57848774ce49dab5c920263647 Coif 0 634 1301 1079 2024-03-25T07:25:18Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = [[File:Coif.png]] |release = |profession = Combat |value = 0 }} The '''coif''' is a piece of equipment worn on the head.<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Equipment]] f7a3393974574846f4749a523af8f493bd5e3bfe Template:Clean image 10 715 1302 2024-03-25T07:29:49Z BlackHawk 10 Created page with "{{#invoke:clean image|main}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{#invoke:clean image|main}}<noinclude>{{/doc}}</noinclude> 07c84bc099180a1b2d1a8ffac09545d99bb39e90 File:Basic bacon.png 6 392 1303 1067 2024-03-25T07:31:23Z BlackHawk 10 BlackHawk moved page [[File:Item basic bacon.png]] to [[File:Basic bacon.png]] without leaving a redirect wikitext text/x-wiki [[Category:Food images]] c2551224a66dc9773d5073bd42696054240bf631 Template:Clean image/doc 10 716 1304 2024-03-25T07:31:31Z BlackHawk 10 Created page with "{{Documentation}} Cleans and formats an input image. This removes the following things if present: * <code><nowiki>[[File:</nowiki></code> * <code><nowiki>]]</nowiki></code> * <code><nowiki>|</nowiki></code> and <code><nowiki>{{!}}</nowiki></code>, and everything following the first of these until the end Then it re-packages the image into a new file container, with specified height, width, and link. The <code>frameless</code> modifier is used, which prevents the image..." wikitext text/x-wiki {{Documentation}} Cleans and formats an input image. This removes the following things if present: * <code><nowiki>[[File:</nowiki></code> * <code><nowiki>]]</nowiki></code> * <code><nowiki>|</nowiki></code> and <code><nowiki>{{!}}</nowiki></code>, and everything following the first of these until the end Then it re-packages the image into a new file container, with specified height, width, and link. The <code>frameless</code> modifier is used, which prevents the image being resized larger than its actual dimensions. ==Usage== <pre>{{clean image |file = wikitext to be cleaned; this should usually be a template parameter (e.g. |file={{{image}}}); required |width = width of image; no default; exclude 'px' |height = height of image; no default; exclude 'px'; can be combined with width |link = link to apply to image; no default (will link to file page); setting to no will suppress normal link |align = alignment of image; left, center, right; no default }}</pre> ===Examples=== To be practical the results will be as if <code><nowiki>|image=[[File:Basic bacon.png|100px|link=abyssal whip]]</nowiki></code> as the input. {| class="wikitable" ! Example ! Code ! Result ! Notes | |- | Just clean | <pre>{{clean image|file={{{image}}}}}</pre> | {{clean image|file=[[File:Basic bacon.png|100px|link=abyssal whip]]}} | Should result in <pre>[[File:{FILENAME}]]</pre> Note that it links to the file page as a normal image does. |- | Clean + width | <pre>{{clean image|file={{{image}}}|width=50}}</pre> | {{clean image|file=[[File:Basic bacon.png|100px|link=abyssal whip]]|width=50}} | Should result in <pre>[[File:{FILENAME}|{WIDTH}px]]</pre> |- | Clean + height | <pre>{{clean image|file={{{image}}}|height=20}}</pre> | {{clean image|file=[[File:Basic bacon.png|100px|link=abyssal whip]]|height=20}} | Should result in <pre>[[File:{FILENAME}|x{HEIGHT}px]]</pre> Remember that height parameters on images are maximum height limits and won't make an image bigger (without a width set). |- | Clean + width + height | <pre>{{clean image|file={{{image}}}|width=44|height=20}} {{clean image|file={{{image}}}|width=11|height=50}} {{clean image|file={{{image}}}|width=66|height=66}}</pre> |<poem>{{clean image|file=[[File:Basic bacon.png|100px|link=abyssal whip]]|width=44|height=20}} {{clean image|file=[[File:Basic bacon.png|100px|link=abyssal whip]]|width=11|height=50}} {{clean image|file=[[File:Basic bacon.png|100px|link=abyssal whip]]|width=66|height=60}}</poem> | Should result in <pre>[[File:{FILENAME}|{WIDTH}x{HEIGHT}px]]</pre> Remember that height is still a maximum limit here. The size will be {WIDTH}px wide unless this makes the height more than {HEIGHT}px, in which case it is sized down to {HEIGHT}px tall. Aspect ratio is always kept. Basic bacon.png is 22px wide and 30px tall. In the first use it is trying to resize to twice as wide but the maximum height of 20px forces it to resize down to 15x20px. The second use it successfully resizes down to half as wide, 11x15px. The third use is trying to go thrice as wide but the height limit only allows it to go twice as tall, so is 44x60px. |- | Clean + link | <pre>{{clean image|file={{{image}}}|link=Weird gloop}}</pre> | {{clean image|file=[[File:Basic bacon.png|100px|link=abyssal whip]]|link=Weird gloop}} | Should result in <pre>[[File:{FILENAME}|link={LINK}]]</pre> |- | Clean + link suppress | <pre>{{clean image|file={{{image}}}|link=no}}</pre> | {{clean image|file=[[File:Basic bacon.png|100px|link=abyssal whip]]|link=no}} | Should result in <pre>[[File:{FILENAME}|link=]]</pre> |- | Clean + alignment | <pre>{{clean image|file={{{image}}}|align=right}}</pre> | {{clean image|file=[[File:Basic bacon.png]]|align=right}} | Should result in <pre>[[File:{FILENAME}|align=right]]</pre> |} <includeonly>[[Category:Formatting templates]]</includeonly> 1cc7bbc62f4b8b4652d4f52f7344a6ba3baff6cb Module:Clean image 828 717 1305 2024-03-25T07:31:57Z BlackHawk 10 Created page with "-- <nowiki> -- Removes 'File:' prefix, just in case -- Replace {{!}} with | instead of preprocessing -- Turn into a nice wiki file link local hc = require('Module:Paramtest').has_content local p = {} p.main = function(frame) local args = frame:getParent().args local clean = { file = args.file or args[1], width = args.width or args[2], height = args.height or args[3], link = args.link or args[4], align = args.align or args[5] } return p.clean(clean) end p.c..." Scribunto text/plain -- <nowiki> -- Removes 'File:' prefix, just in case -- Replace {{!}} with | instead of preprocessing -- Turn into a nice wiki file link local hc = require('Module:Paramtest').has_content local p = {} p.main = function(frame) local args = frame:getParent().args local clean = { file = args.file or args[1], width = args.width or args[2], height = args.height or args[3], link = args.link or args[4], align = args.align or args[5] } return p.clean(clean) end p.clean = function(args) local file = args.file if not hc(file) or (file and (file:lower() == 'no' or file == '')) then return '' end local height, width = '','' if hc(args.height) then height = 'x'..args.height end if hc(args.width) then width = args.width end local size = '' if width ~= '' or height ~= '' then size = string.format('|%s%spx', width, height) end local link = '' if hc(args.link) then if args.link == 'no' then link = '|link=' else link = '|link='..args.link end end local alignment = '' local align = args.align if align and (align:lower() == 'left' or align:lower() == 'center' or align:lower() == 'right') then alignment = string.format('|%s', align) end file = file:gsub('%[',''):gsub('%]',''):gsub('[Ff]ile:',''):gsub('{{!}}','|') -- enforce max height and width file = mw.text.split(file, '|') file = string.format('%s%s%s%s',file[1], size, link, alignment) return '[[File:'..file..'|frameless]]' end return p -- </nowiki> 96e41aadbf560674ee5e4b963ae72c7df482eb6e Module:Clean image/doc 828 718 1306 2024-03-25T07:32:54Z BlackHawk 10 Created page with "{{Documentation}} Cleans an input image to prevent double linking. {{Helper module |name=Clean image |fname1=<nowiki>clean{ file&nbsp;=&nbsp;[string|'no'], width&nbsp;=&nbsp;[string|nil], height&nbsp;=&nbsp;[string|nil], link&nbsp;=&nbsp;[string|nil], align&nbsp;=&nbsp;[string|nil] }</nowiki> |ftype1=table |fuse1=Used to clean up user input; extracts only the file name of the input and returns its own formatted link. Input is a table with fields: * <code>file</code> - t..." wikitext text/x-wiki {{Documentation}} Cleans an input image to prevent double linking. {{Helper module |name=Clean image |fname1=<nowiki>clean{ file&nbsp;=&nbsp;[string|'no'], width&nbsp;=&nbsp;[string|nil], height&nbsp;=&nbsp;[string|nil], link&nbsp;=&nbsp;[string|nil], align&nbsp;=&nbsp;[string|nil] }</nowiki> |ftype1=table |fuse1=Used to clean up user input; extracts only the file name of the input and returns its own formatted link. Input is a table with fields: * <code>file</code> - the full wikitext to be cleaned. All processing is skipped if file is empty or is the string <code>no</code>. * <code>width</code> - width to resize the file to; no default * <code>height</code> - height to resize the file to, can be combined with width; no default * <code>link</code> - what page to link the file to; no default (file will link to file page), <code>no</code> to link to nothing * <code>align</code> - alignment for the image; <code>left, center, right</code>; no default |example= <syntaxhighlight lang='lua'> local cleanImage = require( 'Module:Clean image' ).clean mw.log( cleanImage{ file = '[[File:Basic bacon.png|link=Basic bacon|200px]]' } ) --> '[[File:Basic bacon.png|frameless]]' </syntaxhighlight> }} 4f0641e8d6406e4c37cad9809831cb837619c4f5 Template:Infobox Item 10 77 1307 1262 2024-03-25T07:36:05Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-item" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{#if:{{{profession|}}}|{{{profession}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing profession]]}}}} |- |<b>Value</b>||{{#if:{{{value|}}}|{{{value}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing value]]}}}} |}{{Mainonly|[[Category:Items]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 51d15661205607407d83310f7e77f268044b2f80 Template:Infobox Profession 10 661 1308 1242 2024-03-25T07:36:16Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-profession" style="float:right" ! colspan="2" | {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- | colspan="2" style="text-align:center" | {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- ! Release date | {{{release|Q3 [[2024]]}}} |}{{Mainonly|[[Category:Professions]]}}<noinclude>{{/doc}}</noinclude> 318ec39279e5017441bedf21cc55a6716949826f Template:Infobox Scenery 10 690 1309 1261 2024-03-25T07:36:24Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-scenery" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |}{{Mainonly|[[Category:Scenery]]}}<noinclude>{{clear}}{{/doc}}</noinclude> e06a351d90f74fe9ec06a2b8805fb809ff1165ed Trunk 0 685 1310 1253 2024-03-25T07:36:43Z BlackHawk 10 wikitext text/x-wiki {{Infobox Scenery |name = Trunk |image = Trunk.png |release = |episode = }} A '''trunk''' is a piece of interactable scenery that can be found in [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=24 March 2024|archiveurl=https://archive.is/whgCd|archivedate=24 March 2024|quote=}} ==References== {{Reflist}} d4f1385f661eed0d04a337f508e396030079e38a Old trunk 0 697 1311 1258 2024-03-25T07:36:55Z BlackHawk 10 wikitext text/x-wiki {{Infobox Scenery |name = Old trunk |image = Old trunk.png |release = |episode = }} A '''old trunk''' is a piece of interactable scenery that can be found in [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=24 March 2024|archiveurl=https://archive.is/whgCd|archivedate=24 March 2024|quote=}} ==References== {{Reflist}} 90edbd0fad48700d1d03de320a3f570a81dfef06 Basic bacon 0 84 1312 1086 2024-03-25T07:37:42Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Basic bacon |image = Basic bacon.png |release = |episode = |profession = [[Chef]] |value = }} '''Basic bacon''' is a food that can be created using the [[Chef]] profession. It can be obtained by frying [[raw basic bacon]] in a kitchen.<ref>https://brightershores.com/screenshots/02_cooking.jpg</ref> ==References== {{Reflist}} [[Category:Food]] c9f6f6257591ef6a6778aa2ae47d963e6604d722 Branch 0 464 1313 1080 2024-03-25T07:38:13Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Branch |image = Branch.png |release = |episode = Hopeforest |profession = [[Woodcutter]] |value = 48 }} '''Branches''' can be collected by the [[Woodcutter]] [[profession]] in [[Hopeforest]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} dc749909b1fd6031ed8f699556de97450c2d03cc Coif 0 634 1314 1301 2024-03-25T07:38:32Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Coif.png |release = |profession = Combat |value = 0 }} The '''coif''' is a piece of equipment worn on the head.<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Equipment]] 77aa5cd1c299c089efecfad2ba90ddf6931ca81a Strength Cryonae 0 647 1315 1298 2024-03-25T07:38:55Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Cryoknight potion.png |release = |profession = Alchemist |value = }} '''Cryoknight potions''' are a type of [[potion]].<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] e197997d08b8dcd44f963b2ac32028726799a0e7 Hammermage potion 0 632 1316 1270 2024-03-25T07:39:37Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Hammermage potion.png |release = |episode = Hopeport |profession = Alchemist |value = 330 }} The '''Hammermage potion''' is a type of [[potion]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] 067e306d49abff1de76689374f25159300ec0a1a Health potion 0 645 1317 1299 2024-03-25T07:40:06Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Health potion.png |release = |profession = Alchemist |value = }} '''Health potions''' are a type of [[potion]]<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref>, most likely used to restore one's health in [[combat]]. ==References== {{Reflist}} [[Category:Potions]] cd183842dba9f5c4d29f40aff664194a13dc76ff Merchant potion 0 636 1318 1300 2024-03-25T07:40:20Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Merchant potion.png |release = |episode = Hopeport |profession = [[Alchemist]] |value = 18 }} The '''Merchant potion''' is a type of [[potion]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] 76b442558d49291b7a3fb3087c6200dfc2d89748 Miner potion 0 465 1319 1083 2024-03-25T07:40:44Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Miner potion.png |release = |episode = Hopeport |profession = [[Alchemist]] |value = 16 }} '''Miner potions''' are a type of [[potion]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] 3496c1a3bba70d144c400b0be19d71248964159d File:Raw basic bacon.png 6 398 1320 1076 2024-03-25T07:41:06Z BlackHawk 10 BlackHawk moved page [[File:Item raw basic bacon.png]] to [[File:Raw basic bacon.png]] without leaving a redirect wikitext text/x-wiki [[Category:Food images]] c2551224a66dc9773d5073bd42696054240bf631 Raw basic bacon 0 478 1321 1085 2024-03-25T07:41:39Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Raw basic bacon |image = Raw basic bacon.png |release = |episode = |profession = [[Chef]] |value = }} '''Raw basic bacon''' is an item that can be fried to [[basic bacon]] using the [[Chef]] profession.<ref>https://brightershores.com/screenshots/02_cooking.jpg</ref> ==References== {{Reflist}} [[Category:Food]] e0f844e7debec74989c7d25c70b6e1ca7126f04d Sturlet 0 67 1322 1192 2024-03-25T07:42:28Z BlackHawk 10 wikitext text/x-wiki {{Infobox Item |name = |image = |release = |episode = |profession = |value = }} '''Sturlet''' is a type of [[fish]] that gives 7 experience in the [[Fisher]] profession per catch.<ref>https://brightershores.com/screenshots/12_vincible.jpg</ref> ==References== {{Reflist}} 92232e435a1ddc95d4277a494de175afb8335b13 Template:Infobox NPC 10 719 1323 2024-03-25T13:53:19Z BlackHawk 10 Created page with "{| class="wikitable infobox-npc" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopefo..." wikitext text/x-wiki {| class="wikitable infobox-npc" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{#if:{{{profession|}}}|{{{profession}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing profession]]}}}} |}{{Mainonly|[[Category:Non-player characters]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 8aeefdf94f084bd1f42fb1d260945b956e0a751a 1329 1323 2024-03-25T13:58:51Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-npc" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{#if:{{{profession|}}}|{{{profession}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Non-player characters needing profession]]}}}} |}{{Mainonly|[[Category:Non-player characters]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 9bb9dff15ee293d25f5fcaa08d427ce243b5de12 1330 1329 2024-03-25T14:00:27Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-npc" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- {{#if:{{{profession|}}}| {{!}} colspan="2" align="center" {{!}} {{{profession}}}}} |}{{Mainonly|[[Category:Non-player characters]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 345c9266a10133cde879fb9728c7d13c67e1e041 Template:Infobox NPC/doc 10 720 1324 2024-03-25T13:54:06Z BlackHawk 10 Created page with "{{Documentation}} ==Parameters== ===name=== The name of the NPC. ===image=== The image of the NPC. ===release=== The release date of the NPC. ===episode=== The episode of the NPC. One of: * Hopeport * Hopeforest * Mine of Manbutan ===profession=== The profession of the NPC. ==Quick copy== <pre>{{Infobox NPC |name = |image = |release = |episode = |profession = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly>" wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the NPC. ===image=== The image of the NPC. ===release=== The release date of the NPC. ===episode=== The episode of the NPC. One of: * Hopeport * Hopeforest * Mine of Manbutan ===profession=== The profession of the NPC. ==Quick copy== <pre>{{Infobox NPC |name = |image = |release = |episode = |profession = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> 1f6a706e97134214f88568a1f67a5bb55513bed4 Gurnard 0 444 1325 721 2024-03-25T13:56:22Z BlackHawk 10 wikitext text/x-wiki {{Infobox NPC |name = Gurnard |image = |release = |episode = |profession = [[Fisher]] }} '''Gurnards''' are a type of [[fish]]. The Yellowtail variant can be found in the [[Pirate Hideout]]. ==Variants== * Yellowtail 3e432496956781386c861b1c9a5199f4addf834b Category:Non-player characters 14 130 1326 235 2024-03-25T13:56:38Z BlackHawk 10 BlackHawk moved page [[Category:NPCs]] to [[Category:Non-player characters]] without leaving a redirect wikitext text/x-wiki {{Categoryheader|pages|non-player characters}} [[Category:Content]] 655e8f5d30399163f0b4ca926887fbfa3fff768d Fire toad 0 721 1327 2024-03-25T13:57:05Z Logg 52 redirect wikitext text/x-wiki #REDIRECT [[Firetoad]] 10fc7742746eb2fa0f2fca843f37fdac90c4bd19 Barricade guard 0 475 1328 1088 2024-03-25T13:58:17Z BlackHawk 10 wikitext text/x-wiki {{Infobox NPC |name = Barricade guard |image = |release = |episode = |profession = }} '''Barricade guard''' is an NPC that guards the [[Barricades]]. The player must talk to [[Captain Jal Degreene]] as part of a quest in order to be allowed through. If the player attempts to pass the barricades before talking with Captain Jal Degreene, the guard will say "Yeah, like I said, it's not safe. You'll have to get permission from Captain Jal Degreene if you want in." e437541f153d11d5a594d9120d4202818d5fe9b1 Captain Jal Degreene 0 431 1331 923 2024-03-25T14:01:27Z BlackHawk 10 wikitext text/x-wiki {{Infobox NPC |name = Captain Jal Degreene |image = |release = |episode = |profession = }} '''Captain Jal Degreene''' is an NPC. In the Main Story, the Player needs clearance from him to get access into the Mine Entrance. 1a8db28ba3914d796e487908be60ced30fada44f Lani 0 93 1332 234 2024-03-25T14:01:42Z BlackHawk 10 wikitext text/x-wiki {{Infobox NPC |name = Lani |image = |release = |episode = |profession = }} '''Lani''' is the owner of [[Lani's Curiosities]]. 664c750fb932195350f8e7bb0f66f8da1ee59276 Melv 0 87 1333 239 2024-03-25T14:01:58Z BlackHawk 10 wikitext text/x-wiki {{Infobox NPC |name = Melv |image = |release = |episode = |profession = }} '''Melv''' is the shop owner of [[Melv's Fishing Supplies]]. 6f1bd61fc44b85d03f5de4a9c813a05290c048a9 Template:CiteTwitter 10 196 1334 343 2024-03-25T14:38:51Z Logg 52 "reference template" category wikitext text/x-wiki <includeonly>{{#invoke:References|twitterref}}</includeonly><noinclude>{{/doc}}[[Category:Reference templates]]</noinclude> 8065194c9f941e352de73ee8422d1e959e521799 Firetoad 0 186 1335 326 2024-03-25T14:39:27Z Logg 52 So you want to join the Hopeport town guard? Then here's what you need to know: we're not just about fighting firetoads...! wikitext text/x-wiki {{Unofficial name}} {{Infobox NPC |name = Firetoad |image = [[File:Firetoad.png]] |release = Q3 2024 |episode = Hopeport |profession = }} '''Firetoads''' are monsters found in caves. The Hopeport town guard fights firetoads regularly, to the point where it might at first glance be mistaken that that is all they do.{{CiteVideo|author=FenResearch|title=Brighter Shores Trailer|url=https://www.youtube.com/watch?v=7lolGQaorPo|timestamp=00:01 - 00:09|date=13 May, 2024|site=Youtube|name=Original Brighter Shores Trailer}} Being that players first enter the game as members of the Hopeport town guard, it is anticipated that fighting firetoads will be one of the most common ways that players initially improve their combat abilities. ==Trivia== * Firetoads were the first named monsters to be presented to players, in the original trailer for the game.<ref name="Original Brighter Shores Trailer"/> ==References== {{reflist}} [[Category:Monsters]] 696af2a0f245496b8bd7a325ea579af03977384a 1337 1335 2024-03-25T14:53:42Z Logg 52 Firetoads attack every 2.5 seconds. I counted frames for both the top toad & the toad to its right. In the 60 frame per second trailer video, the number of frames between attacks is exactly 150. wikitext text/x-wiki {{Unofficial name}} {{Infobox NPC |name = Firetoad |image = [[File:Firetoad.png]] |release = Q3 2024 |episode = Hopeport |profession = }} '''Firetoads''' are monsters found in caves. The Hopeport town guard fights firetoads regularly, to the point where it might at first glance be mistaken that that is all they do.{{CiteVideo|author=FenResearch|title=Brighter Shores Trailer|url=https://www.youtube.com/watch?v=7lolGQaorPo|timestamp=00:01 - 00:09|date=13 May, 2024|site=Youtube|name=Original Brighter Shores Trailer}} Being that players first enter the game as members of the Hopeport town guard, it is anticipated that fighting firetoads will be one of the most common ways that players initially improve their combat abilities. As their name implies, firetoads attack with fire, which is a long-range attack with a constant speed, independent of distance to target. Firetoads can use their fire attack every 2.5 seconds. ==Trivia== * Firetoads were the first named monsters to be presented to players, in the original trailer for the game.<ref name="Original Brighter Shores Trailer"/> ==References== {{reflist}} [[Category:Monsters]] e107f0605e7c7123b4aac6d40e549a48c0dd45cd 1339 1337 2024-03-25T15:00:36Z Logg 52 firetoad gallery wikitext text/x-wiki {{Unofficial name}} {{Infobox NPC |name = Firetoad |image = [[File:Firetoad.png]] |release = Q3 2024 |episode = Hopeport |profession = }} '''Firetoads''' are monsters found in caves. The Hopeport town guard fights firetoads regularly, to the point where it might at first glance be mistaken that that is all they do.{{CiteVideo|author=FenResearch|title=Brighter Shores Trailer|url=https://www.youtube.com/watch?v=7lolGQaorPo|timestamp=00:01 - 00:09|date=13 May, 2024|site=Youtube|name=Original Brighter Shores Trailer}} Being that players first enter the game as members of the Hopeport town guard, it is anticipated that fighting firetoads will be one of the most common ways that players initially improve their combat abilities. As their name implies, firetoads attack with fire, which is a long-range attack with a constant speed, independent of distance to target. Firetoads can use their fire attack every 2.5 seconds. ==Gallery== <gallery> Firetoads Trailer.jpg | Firetoads as shown in the original trailer for Brighter Shores. </gallery> ==Trivia== * Firetoads were the first named monsters to be presented to players, in the original trailer for the game.<ref name="Original Brighter Shores Trailer"/> ==References== {{reflist}} [[Category:Monsters]] 4865b8a77a06776fa933502542e73d8094c718e9 Template:CiteVideo 10 722 1336 2024-03-25T14:40:04Z Logg 52 Created page with "<includeonly>{{#invoke:References|videoref}}</includeonly><noinclude>{{/doc}}[[Category:Reference templates]]</noinclude>" wikitext text/x-wiki <includeonly>{{#invoke:References|videoref}}</includeonly><noinclude>{{/doc}}[[Category:Reference templates]]</noinclude> d7b2cf6d24aeac363b963aea4799b5622804a530 File:Firetoads Trailer.jpg 6 723 1338 2024-03-25T14:59:29Z Logg 52 First appearance of Firetoads, from https://www.youtube.com/watch?v=7lolGQaorPo wikitext text/x-wiki == Summary == First appearance of Firetoads, from https://www.youtube.com/watch?v=7lolGQaorPo 4c9ef7097f22618e398f40f699f53e3caf7c5086 File:Firetoad.png 6 724 1340 2024-03-25T15:06:47Z Logg 52 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Yellowtail Gurnard 0 449 1341 726 2024-03-25T16:33:46Z BlackHawk 10 Redirected page to [[Gurnard]] wikitext text/x-wiki #REDIRECT [[Gurnard]] f5c85bd9d9fc9e069e762051b11ee333cd249be2 User:Logg 2 725 1342 2024-03-25T16:49:32Z Logg 52 Created page with "I'm Logg, currently looking forward to exploring the world of Brighter Shores. I've been a fan of the Gowers' games for over 20 years. I particularly enjoyed Flea Circus, which I deobbed [https://github.com/Hubcapp/fleacircus2000-deob here]. I'm also an administrator on the ''RuneScape Classic'' Wiki, you can see my userpage [https://classic.runescape.wiki/User:Logg there]." wikitext text/x-wiki I'm Logg, currently looking forward to exploring the world of Brighter Shores. I've been a fan of the Gowers' games for over 20 years. I particularly enjoyed Flea Circus, which I deobbed [https://github.com/Hubcapp/fleacircus2000-deob here]. I'm also an administrator on the ''RuneScape Classic'' Wiki, you can see my userpage [https://classic.runescape.wiki/User:Logg there]. c86fa91b545305e03c3af39a5fb51b32d748b03e Monsters 0 377 1343 717 2024-03-25T17:58:20Z Logg 52 Firetoad belongs on top wikitext text/x-wiki '''Monsters''' are creatures in [[Brighter Shores]] that can be attacked. They are fought in [[combat]] for their loot, including valuable currency items. There are many monsters in Brighter Shores, including: * [[Firetoad]] * [[Punkupine]] * [[Slime Fiend]] * [[Mawchest]] * [[Wailing Shade]] * [[Sneaky Thief]] * [[Yellowtail Gurnard]] * [[Grumpy Pirate]] [[Category:Monsters]] {{Mechanics}} 122d41ea695c897be642b5948321de0115e38612 1349 1343 2024-03-25T19:03:16Z ToofleBerry 6 Alphabetize. wikitext text/x-wiki '''Monsters''' are creatures in [[Brighter Shores]] that can be attacked. They are fought in [[combat]] for their loot, including valuable currency items. There are many monsters in Brighter Shores, including: * [[Firetoad]] * [[Grumpy Pirate]] * [[Mawchest]] * [[Punkupine]] * [[Slime Fiend]] * [[Sneaky Thief]] * [[Wailing Shade]] * [[Yellowtail Gurnard]] [[Category:Monsters]] {{Mechanics}} ee46ff9c52c78289ed44809474ac10100193185b Template:Transparency 10 726 1344 2024-03-25T19:00:34Z ToofleBerry 6 Modified version from https://oldschool.runescape.wiki/w/Template:Transparency wikitext text/x-wiki <includeonly>{| class="messagebox file" |<div style="font-size:140%; text-align:center">[[File:Transparent.svg|40px|Mock-up of an image needing transparency.]]</div> || '''This image needs transparency.'''<span style="font-size:0.85em"><br clear="all" />Certain images on the Brighter Shores Wiki normally have transparent backgrounds. This image, however, does not. Please upload a new version of this image with transparency. See our [[Brighter Shores:Images and media policy|images and media policy]] for more information.{{#if: {{{1|}}} |<br />Notable, small spots that also need transparency are: '''{{{1|}}}'''| }}</span> |}{{Fileonly|[[Category:Images needing transparency]]}}</includeonly><noinclude>{{/doc}}</noinclude> 001dceb39233084634d9ef405b9061650b8cd8ab File:Transparent.svg 6 727 1345 2024-03-25T19:01:21Z ToofleBerry 6 {{Permanent Protection}} Icon to be used on [[:Template:Transparency]]. {{GFDL}} wikitext text/x-wiki == Summary == {{Permanent Protection}} Icon to be used on [[:Template:Transparency]]. {{GFDL}} bb8379f19e6088f0707695c919597b93b9b8b85f 1348 1345 2024-03-25T19:02:20Z BlackHawk 10 added [[Category:Icons]] using [[Help:Gadget-HotCat|HotCat]] wikitext text/x-wiki == Summary == {{Permanent Protection}} Icon to be used on [[:Template:Transparency]]. {{GFDL}} [[Category:Icons]] 91bcd07c5a9e318054dffb15cb290d64ad327cf4 Template:Transparency/doc 10 728 1346 2024-03-25T19:01:48Z ToofleBerry 6 Created page with "{{documentation}} This template displays a notification that transparency is going to be added to an image. The [[:Category:Images needing transparency]] will be added to the page. ==Usage== {{T|Transparency}} ==Examples== {{T|Transparency}} {{Transparency}} ==Parameters== <templatedata> { "description": "", "params": { } } </templatedata> <includeonly>[[Category:Image templates|{{PAGENAME}}]]</includeonly>" wikitext text/x-wiki {{documentation}} This template displays a notification that transparency is going to be added to an image. The [[:Category:Images needing transparency]] will be added to the page. ==Usage== {{T|Transparency}} ==Examples== {{T|Transparency}} {{Transparency}} ==Parameters== <templatedata> { "description": "", "params": { } } </templatedata> <includeonly>[[Category:Image templates|{{PAGENAME}}]]</includeonly> e43718a395e97579fcf2ca5bbd9bae8c158ee2db Category:Images needing transparency 14 729 1347 2024-03-25T19:02:10Z ToofleBerry 6 Created page with "{{Categoryheader|images|that need [[wikipedia:Transparency (graphic)|transparency]] added|yes|[[Template:Transparency]]}} [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__" wikitext text/x-wiki {{Categoryheader|images|that need [[wikipedia:Transparency (graphic)|transparency]] added|yes|[[Template:Transparency]]}} [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__ 87d888ae124692ab055e03e9d47b50f1dc6fec0c File:Cryoknight potion.png 6 648 1350 1074 2024-03-25T19:04:58Z ToofleBerry 6 wikitext text/x-wiki {{Transparency}} == Summary == [[Category:Potion images]] f9c1c2822d82368653bb196a5bd1431e096cf925 File:Hammermage potion.png 6 633 1351 1053 2024-03-25T19:05:11Z ToofleBerry 6 Transparency needed. wikitext text/x-wiki {{Transparency}} [[Category:Potion images]] 376dd24b9050af743ffdd1b06a93cbee2621c131 File:Health potion.png 6 646 1352 1071 2024-03-25T19:05:19Z ToofleBerry 6 Transparency needed. wikitext text/x-wiki {{Transparency}} == Summary == [[Category:Potion images]] f9c1c2822d82368653bb196a5bd1431e096cf925 File:Merchant potion.png 6 637 1353 1055 2024-03-25T19:05:26Z ToofleBerry 6 Transparency needed. wikitext text/x-wiki {{Transparency}} [[Category:Potion images]] 376dd24b9050af743ffdd1b06a93cbee2621c131 File:Miner potion.png 6 467 1354 1056 2024-03-25T19:05:34Z ToofleBerry 6 Transparency needed. wikitext text/x-wiki {{Transparency}} [[Category:Potion images]] f9a641b1e332f09765eddb6b339bbbdbf9680bab File:Coif.png 6 635 1355 1063 2024-03-25T19:06:03Z ToofleBerry 6 wikitext text/x-wiki {{Transparency}} [[Category:Equipment images]] 97290063d01509323b496ae9a91a00bba30774f9 File:Crossbow.png 6 730 1356 2024-03-25T19:12:08Z ToofleBerry 6 {{Transparency}} Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. 7789ea1a9c0a707a3a9d10e7abf942fd96802e01 1358 1356 2024-03-25T19:14:10Z ToofleBerry 6 wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. [[Category:Equipment images]] efd0c43b6fa2a7da4c70430cfcac5260efbf7140 Crossbow 0 192 1357 339 2024-03-25T19:13:54Z ToofleBerry 6 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Crossbow.png |release = |episode = |profession = Combat |value = 0 }} '''Crossbows''' are a type of [[weapon]] in [[Brighter Shores]], typically utilised by the [[guardian]] class. ==References== {{Reflist}} [[Category:Equipment]] f96b9209ee450d08e2bea0b31ab14e50e4e5e268 File:Mace.png 6 731 1359 2024-03-25T19:16:29Z ToofleBerry 6 {{Transparency}} Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. [[Category:Equipment images]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. [[Category:Equipment images]] efd0c43b6fa2a7da4c70430cfcac5260efbf7140 File:Staff.png 6 732 1360 2024-03-25T19:16:59Z ToofleBerry 6 {{Transparency}} Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. [[Category:Equipment images]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. [[Category:Equipment images]] efd0c43b6fa2a7da4c70430cfcac5260efbf7140 Staff 0 733 1361 2024-03-25T19:18:03Z ToofleBerry 6 Created page with "{{Unofficial name}} {{Infobox Item |name = |image = Staff.png |release = |episode = |profession = Combat |value = }} A '''staff''' is a type of [[weapon]] in [[Brighter Shores]]. ==References== {{Reflist}} [[Category:Equipment]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Staff.png |release = |episode = |profession = Combat |value = }} A '''staff''' is a type of [[weapon]] in [[Brighter Shores]]. ==References== {{Reflist}} [[Category:Equipment]] 8f1337ab30cd21cc85cad71fffd4d0c834aac6d2 1362 1361 2024-03-25T19:18:18Z ToofleBerry 6 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Staff.png |release = |episode = |profession = Combat |value = }} A '''staff''' is a type of [[weapon]] in [[Brighter Shores]]<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref>. ==References== {{Reflist}} [[Category:Equipment]] 841f829cee7e092eac13efa2c79dfc757d4538c9 Mace 0 734 1363 2024-03-25T19:18:37Z ToofleBerry 6 Created page with "{{Unofficial name}} {{Infobox Item |name = |image = Mace.png |release = |episode = |profession = Combat |value = }} A '''mace''' is a type of [[weapon]] in [[Brighter Shores]]<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref>. ==References== {{Reflist}} [[Category:Equipment]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Mace.png |release = |episode = |profession = Combat |value = }} A '''mace''' is a type of [[weapon]] in [[Brighter Shores]]<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref>. ==References== {{Reflist}} [[Category:Equipment]] 30b0a01a0bc292563628f5715595430388f5d1b0 1366 1363 2024-03-25T19:23:28Z ToofleBerry 6 Added equipped image. wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Mace.png |release = |episode = |profession = Combat |value = }} A '''mace''' is a type of [[weapon]] in [[Brighter Shores]]<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref>. [[File:Mace equipped.png|200px|left|A player with a mace equipped.]] ==References== {{Reflist}} [[Category:Equipment]] 3cd494f87d980daa1b27a011b0960f6a68b40024 File:Mace equipped.png 6 735 1364 2024-03-25T19:21:53Z ToofleBerry 6 {{Transparency}} Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. [[Category:Worn equipment images]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. [[Category:Worn equipment images]] d407cc191956530c9acbfc207ca76c340e95d004 1365 1364 2024-03-25T19:22:17Z ToofleBerry 6 ToofleBerry moved page [[File:Item mace equipped.png]] to [[File:Mace equipped.png]] without leaving a redirect wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. [[Category:Worn equipment images]] d407cc191956530c9acbfc207ca76c340e95d004 File:Profession alchemist.png 6 736 1367 2024-03-25T19:28:03Z ToofleBerry 6 {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Profession icons]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Profession icons]] 4a4019ac14eec4a5867530fce33e8536cd3b2b81 1368 1367 2024-03-25T19:28:11Z ToofleBerry 6 wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Profession icons]] a065329f7d726072a0e3f5135ca44e6be4fac44e Professions 0 56 1369 1187 2024-03-25T19:28:38Z ToofleBerry 6 wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. Most professions can either be trained by the player actively playing the game, or passively while the game is closed. As the player progresses through the game, more professions will become available for the player to learn. Players aren't limited to one profession at a time; they can utilise multiple at once.{{CiteGeneral|url=https://www.gamesradar.com/runescape-creator-answers-our-biggest-questions-about-his-new-mmo-brighter-shores-classes-professions-monetization-and-a-ttrpg-open-world/|title=RuneScape creator answers our biggest questions about his new MMO Brighter Shores: classes, professions, monetization, and a TTRPG open world|author=Austin Wood|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/AxMwI|archivedate=23 March 2024|name=griv}} ==Passive training== Unlike other similar MMOs, players can continue to perform certain profession-related activities while logged out of the game. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | [[File:Woodcutter icon.png|30px|link=Woodcutter]] || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | [[File:Alchemist icon.png|30px|link=Alchemist]] || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery mode="packed" heights="160"> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> ==References== {{Reflist}} {{Professions}} {{Mechanics}} 538c2b73d8ba505513186c40d369e7ed487208cb 1370 1369 2024-03-25T19:28:51Z ToofleBerry 6 wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. Most professions can either be trained by the player actively playing the game, or passively while the game is closed. As the player progresses through the game, more professions will become available for the player to learn. Players aren't limited to one profession at a time; they can utilise multiple at once.{{CiteGeneral|url=https://www.gamesradar.com/runescape-creator-answers-our-biggest-questions-about-his-new-mmo-brighter-shores-classes-professions-monetization-and-a-ttrpg-open-world/|title=RuneScape creator answers our biggest questions about his new MMO Brighter Shores: classes, professions, monetization, and a TTRPG open world|author=Austin Wood|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/AxMwI|archivedate=23 March 2024|name=griv}} ==Passive training== Unlike other similar MMOs, players can continue to perform certain profession-related activities while logged out of the game. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | [[File:Woodcutter icon.png|30px|link=Woodcutter]] || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | [[File:Profession alchemist.png|30px|link=Alchemist]] || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery mode="packed" heights="160"> File:Professions preview 1.jpg File:Professions preview 2.jpg File:Professions preview 3.jpg </gallery> ==References== {{Reflist}} {{Professions}} {{Mechanics}} 39be8206c6a6ef2a78d402d5d8fdf2469ccd5dea File:Log.png 6 737 1372 2024-03-25T19:32:55Z ToofleBerry 6 {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Item images]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Item images]] 9539efc2f76d9c14eb57a0a46911745bb9583405 File:Log basket.png 6 738 1373 2024-03-25T19:33:19Z ToofleBerry 6 {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Item images]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Item images]] 9539efc2f76d9c14eb57a0a46911745bb9583405 File:Sword.png 6 739 1374 2024-03-25T19:33:49Z ToofleBerry 6 {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] d8f86345b82132b6d2bf82675e4f6d8b3c07f303 File:Iron platebody.png 6 740 1375 2024-03-25T19:34:08Z ToofleBerry 6 {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] d8f86345b82132b6d2bf82675e4f6d8b3c07f303 File:Iron legs.png 6 741 1376 2024-03-25T19:34:21Z ToofleBerry 6 {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] d8f86345b82132b6d2bf82675e4f6d8b3c07f303 File:Bronze legs.png 6 742 1377 2024-03-25T19:34:35Z ToofleBerry 6 {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] d8f86345b82132b6d2bf82675e4f6d8b3c07f303 Brighter Shores:Sandbox 4 743 1378 2024-03-25T19:34:40Z InvalidCards 4 That was not good wikitext text/x-wiki <!--DO NOT CHANGE--><noinclude>{{Sandboxheader}}</noinclude><!--DO NOT CHANGE--> <!-------------------Please edit below this line, thank you--------------------> 1c7910d7437178736e747e02e118b03b4f7a4590 File:Shield.png 6 744 1379 2024-03-25T19:34:49Z ToofleBerry 6 {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] d8f86345b82132b6d2bf82675e4f6d8b3c07f303 File:Steel legs.png 6 745 1380 2024-03-25T19:35:05Z ToofleBerry 6 {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] d8f86345b82132b6d2bf82675e4f6d8b3c07f303 File:Skeleton platebody.png 6 746 1381 2024-03-25T19:35:20Z ToofleBerry 6 {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] d8f86345b82132b6d2bf82675e4f6d8b3c07f303 2021 0 747 1382 2024-03-25T19:54:32Z ToofleBerry 6 Created page with "'''2021'''. * [[4 March]] - Work on the new graphics engine was completed.{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/AndrewCGower/status/1367436063388684289|date=4 March 2021|archiveurl=https://archive.is/MTzFC|archivedate=25 March 2024|quote=Phew! The new graphics engine I first started way back on 30-jun-2017 is *finally* done and live today! Now I can focus my full attention on new game. I am bad at estimating how long things take, but never imagined..." wikitext text/x-wiki '''2021'''. * [[4 March]] - Work on the new graphics engine was completed.{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/AndrewCGower/status/1367436063388684289|date=4 March 2021|archiveurl=https://archive.is/MTzFC|archivedate=25 March 2024|quote=Phew! The new graphics engine I first started way back on 30-jun-2017 is *finally* done and live today! Now I can focus my full attention on new game. I am bad at estimating how long things take, but never imagined it would take that long! Really happy with the result at least.}}. ==References== <references/> {{Timeline}} 18a01b5d5122e93ec65b66fb7c74b0f44571f536 2017 0 748 1383 2024-03-25T19:54:51Z ToofleBerry 6 Created page with "'''2017'''. * [[30 June]] - Work on a new graphics engine was started.{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/AndrewCGower/status/1367436063388684289|date=4 March 2021|archiveurl=https://archive.is/MTzFC|archivedate=25 March 2024|quote=Phew! The new graphics engine I first started way back on 30-jun-2017 is *finally* done and live today! Now I can focus my full attention on new game. I am bad at estimating how long things take, but never imagined it w..." wikitext text/x-wiki '''2017'''. * [[30 June]] - Work on a new graphics engine was started.{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/AndrewCGower/status/1367436063388684289|date=4 March 2021|archiveurl=https://archive.is/MTzFC|archivedate=25 March 2024|quote=Phew! The new graphics engine I first started way back on 30-jun-2017 is *finally* done and live today! Now I can focus my full attention on new game. I am bad at estimating how long things take, but never imagined it would take that long! Really happy with the result at least.}}. ==References== <references/> {{Timeline}} eecaae5b20311b7ba055ac1ab76d6a7ca1e916bd 1384 1383 2024-03-25T19:57:07Z ToofleBerry 6 wikitext text/x-wiki '''2017'''. * [[11 April]] - 3D support was added to [[Fenforge]]. {{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/AndrewCGower/status/851827853859618817|date=11 April 2017|archiveurl=https://archive.is/0AECg|archivedate=25 March 2024|quote=I have finally started adding 3d support to my new game engine. Its taken about a month, but it can now load and render a model! woohoo!}}. * [[30 June]] - Work on a new graphics engine was started.{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/AndrewCGower/status/1367436063388684289|date=4 March 2021|archiveurl=https://archive.is/MTzFC|archivedate=25 March 2024|quote=Phew! The new graphics engine I first started way back on 30-jun-2017 is *finally* done and live today! Now I can focus my full attention on new game. I am bad at estimating how long things take, but never imagined it would take that long! Really happy with the result at least.}}. ==References== <references/> {{Timeline}} 0466fa81e8b749929555a48bbcbf470afca2d134 2019 0 749 1385 2024-03-25T20:02:17Z ToofleBerry 6 Created page with "'''2019'''. * Before [[12 May]] - The new graphics engine was 'done', and integration of the engine into [[Fenforge]] started.{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/AndrewCGower/status/1127683846089080834|date=12 May 2019|archiveurl=https://archive.is/nmXAN|archivedate=25 March 2024|quote=Progress update: still working on my new game engine full time (40+ hours a week). New graphics engine is ‘done’. We are now integrating it in to our programming..." wikitext text/x-wiki '''2019'''. * Before [[12 May]] - The new graphics engine was 'done', and integration of the engine into [[Fenforge]] started.{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/AndrewCGower/status/1127683846089080834|date=12 May 2019|archiveurl=https://archive.is/nmXAN|archivedate=25 March 2024|quote=Progress update: still working on my new game engine full time (40+ hours a week). New graphics engine is ‘done’. We are now integrating it in to our programming language, which involves making some pretty big upgrades to the language to support it. Taking time to get it right!}}. ==References== <references/> {{Timeline}} 397e720e596dba815200ca3becb67aba3283c214 Factions 0 72 1386 969 2024-03-25T20:59:07Z Reed 53 /* Factions */ wikitext text/x-wiki [[File:Factions.jpg|thumb|right|Examples of the three factions.]] {{Quote2|You will discover powerful magic sources and become one of the legendary classes of old: Cryoknight, Guardian or Hammermage. Which is fortunate, because something is corrupting the deepest reaches of the nearby Hopeforest, and only through the strength of your new-found powers will you be able to deal with it.|Official website{{CiteGeneral|url=https://brightershores.com|title=Official Brighter Shores website|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/BaZ8w|archivedate=23 March 2024}}}} '''Factions''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style, though all factions have access to melee, range and magic. ==Factions== * The [[Cryoknight]] ([[File:Cryoknight icon.svg|18px]]) faction is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]]. * [[Guardian]]s ([[File:Guardian icon.svg|18px]]) use ranged combat, preferring to wield weapons like [[crossbow]]s. * The [[Hammermage]] ([[File:Hammermage icon.svg|18px]]) faction fights using a mix of melee and magic. ==References== {{Reflist}} {{Factions}} {{Mechanics}} 28ab1de59a46edc04c331802d6fb0afe6a816b8c 1390 1386 2024-03-25T21:17:39Z Reed 53 wikitext text/x-wiki [[File:Factions.jpg|thumb|right|Examples of the three factions.]] {{Quote2|You will discover powerful magic sources and become one of the legendary classes of old: Cryoknight, Guardian or Hammermage. Which is fortunate, because something is corrupting the deepest reaches of the nearby Hopeforest, and only through the strength of your new-found powers will you be able to deal with it.|Official website{{CiteGeneral|url=https://brightershores.com|title=Official Brighter Shores website|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/BaZ8w|archivedate=23 March 2024}}}} '''Factions''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style, though all factions have access to [[melee]], [[range]] and [[magic]]. ==Factions== * The [[Cryoknight]] ([[File:Cryoknight icon.svg|18px]]) faction is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]]. * [[Guardian]]s ([[File:Guardian icon.svg|18px]]) use ranged combat, preferring to wield weapons like [[crossbow]]s. * The [[Hammermage]] ([[File:Hammermage icon.svg|18px]]) faction fights using a mix of melee and magic. ==References== {{Reflist}} {{Factions}} {{Mechanics}} 4397a611f3d06215e20291bf5bd1152a2103cc9a 1392 1390 2024-03-25T21:28:35Z Reed 53 wikitext text/x-wiki [[File:Factions.jpg|thumb|right|Examples of the three factions.]] {{Quote2|You will discover powerful magic sources and become one of the legendary classes of old: Cryoknight, Guardian or Hammermage. Which is fortunate, because something is corrupting the deepest reaches of the nearby Hopeforest, and only through the strength of your new-found powers will you be able to deal with it.|Official website{{CiteGeneral|url=https://brightershores.com|title=Official Brighter Shores website|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/BaZ8w|archivedate=23 March 2024}}}} '''Factions''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style, though all factions have access to [[melee]], [[ranged]] and [[magic]]. ==Factions== * The [[Cryoknight]] ([[File:Cryoknight icon.svg|18px]]) faction is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]]. * [[Guardian]]s ([[File:Guardian icon.svg|18px]]) use ranged combat, preferring to wield weapons like [[crossbow]]s. * The [[Hammermage]] ([[File:Hammermage icon.svg|18px]]) faction fights using a mix of melee and magic. ==References== {{Reflist}} {{Factions}} {{Mechanics}} 93d3251888c94829018f747351b765467e714673 1393 1392 2024-03-25T21:43:51Z Reed 53 I did want you to have to make a decision. You don't have to make it at the very beginning, because personally I hate it when you start playing a game and the very first thing they ask you is an absolutely critical decision, when you have absolutely no idea how you're going to make it. Here you start off as a guard and you actually make your way into the game before you have to choose your character class. wikitext text/x-wiki [[File:Factions.jpg|thumb|right|Examples of the three factions.]] {{Quote2|You will discover powerful magic sources and become one of the legendary classes of old: Cryoknight, Guardian or Hammermage. Which is fortunate, because something is corrupting the deepest reaches of the nearby Hopeforest, and only through the strength of your new-found powers will you be able to deal with it.|Official website{{CiteGeneral|url=https://brightershores.com|title=Official Brighter Shores website|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/BaZ8w|archivedate=23 March 2024}}}} '''Factions''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style, though all factions have access to [[melee]], [[ranged]] and [[magic]]. Players start off as a guard with the option to choose between being a [[Cryoknight]], [[Guardian]] or [[Hammermage]]. ==Factions== * The [[Cryoknight]] ([[File:Cryoknight icon.svg|18px]]) faction is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]]. * [[Guardian]]s ([[File:Guardian icon.svg|18px]]) use ranged combat, preferring to wield weapons like [[crossbow]]s. * The [[Hammermage]] ([[File:Hammermage icon.svg|18px]]) faction fights using a mix of melee and magic. ==References== {{Reflist}} {{Factions}} {{Mechanics}} 885d6edf897cadc1b67d1cc656d7737eebd5eeb4 Cryoknight 0 69 1387 1285 2024-03-25T21:00:15Z Reed 53 wikitext text/x-wiki [[File:Cryoknight icon detail.png|left|100px]] '''Cryoknight''' ([[File:Cryoknight icon.svg|18px]]) is a [[faction]] which specialises in using melee weapons in [[combat]] and has access to ice magic. {{Classes}} 279dc7a1ca0785efe6e15024b9e75e7da9cf68ca Guardian 0 70 1388 1286 2024-03-25T21:00:39Z Reed 53 wikitext text/x-wiki [[File:Guardian icon detail.png|100px|left]] '''Guardian''' ([[File:Guardian icon.svg|18px]]) is a [[faction]] which specialises in using ranged weapons in [[combat]] and has access to nature magic. {{Classes}} 3e9acfab4a366186ec6087cdf57d99f4f5f886b2 Hammermage 0 71 1389 1288 2024-03-25T21:00:58Z Reed 53 wikitext text/x-wiki [[File:Hammermage icon detail.png|100px|left]] '''Hammermage''' ([[File:Hammermage icon.svg|18px]]) is a [[faction]] which specialises in using magic weapons in [[combat]] and has access to storm magic. {{Classes}} b41235bdacd318eaf7aa9a35715341ef9919d863 Combat 0 191 1391 1247 2024-03-25T21:27:11Z Reed 53 Andrew Gower - 'And all three characters can do magic. That's one thing I should probably mention. So it's not like one is magic and one isn't magic; they've got different types of magic. So the Cryoknights have got ice magic, the Guardians have got nature magic, and the Hammer Mages have got sort of storm magic. They can all do range, they can all do melee.' wikitext text/x-wiki [[File:Equipment.jpg|thumb|right|A preview of player in combat.]] [[File:Combat.jpg|thumb|right|Another preview of player in combat.]] [[File:Combat actions interface.png|thumb|The combat actions interface.]] '''Combat''' is a mechanic in [[Brighter Shores]] in which several [[player]]s or [[monsters]] fight. All [[factions]] have access to [[melee]] and [[ranged]] combat styles, with each class having a unique type of [[magic]]. [[Special attacks]] are a feature of the combat system. {{Mechanics}} df5552720a8cbf8fed099392649702e7d00b1e56 Module:Infobox 828 102 1394 1297 2024-03-25T22:05:05Z Gau Cho 5 WIP - everything except categories is done, but module is untested Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local edit = editbutton("'''?''' (edit)") local pagename = mw.title.getCurrentTitle().fullText local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- infobox_name: the name of the infobox -- args : parameters from frame to pass through -- Special args: version, default_version -- Sets a meta table and creates a <div> tag wrapper -- other fields are initialized in other functions --]] function Infobox.new(args, config) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {'INFOBOX_ERROR'}, -- title of each version (for selection and SMW); version_name[0] should not be used (base index should be 1) rtable = nil, -- infobox table to return at the end switch_datatable = nil, -- datatable for javascript for switch infoboxes errors = {}, -- list of errors }, Infobox) obj:config(config) obj:parse_versions() obj:create() return obj end function Infobox:config(...) for k, v in pairs(...) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Function for defining parameters -- name : parameter name -- func : function to define param, defaults to looking at blanks DO NOT DEFINE VERSION HERE USE :maxVersion() Can be used any number of times for efficient definition --]] function Infobox:define_params(...) for _, v in ipairs(...) do -- For every parameter, store its corresponding function to self.params if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end self.params[v.name] = param table.insert(self.param_names, v.name) end end self:parse_params() --self:parse_categories() return self end --[[ Counts the number of versions in the infobox, and populates version_names --]] function Infobox:parse_versions() -- Count the versions local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - might have a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end -- Value is not defined if "action=edit" exists in string, otherwise -- value is defined if not nil and non-empty string function Infobox.is_value_defined(value) if value == nil then return false end if type(value) ~= 'string' then return true end if value:find('action=edit') then return false end if value:find('%S') then return true end return false end --[[ Checks to see if a param is defined. Returns 0 if param is never defined. Returns 1 if param is defined for some versions. Returns 2 if param is defined for all versions. -- param: a table generated from Infobox:param(), Infobox:raw_param() or Infobox:smw_param() ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if self.is_value_defined(value) then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a table generated from Infobox:param(), Infobox:raw_param() or Infobox:smw_param(), or else -- version: '' for default, or else a number --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] if value == nil then -- Try to get default value if it exists value = self[arg.property][arg.param_name] end return value end -- Other (int, string) return arg end --[[ Calculates the parsed value of a param -- param_name : string, name of the param -- version : 0/'' for default, or else a number -- smw : boolean, whether to use the smw function or default function --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' -- default version end -- Only get the parsed value if the raw value is defined if self.args_raw[param_name..version] then self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end end function Infobox:store_smw() -- Abort if not in mainspace if mw.title.getCurrentTitle().namespace ~= 0 then return false end -- Store a subobject for each version for version=1, self.versions do -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..pagename..'#'..self.version_names[version] local subobject = {} -- Store each param that has smw_property defined and has a defined value for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if self.is_value_defined(value) then subobject[property] = value end end end local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end return true end function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end ----------- -- Table -- ----------- function Infobox:buttons() if self.versions < 2 then return end local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-version', self.default_version) -- Dropdown list instead of buttons if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end for version=1, self.versions do buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) end end function Infobox:create() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Add necessary class if switch infobox if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') self.switch_datatable:tag('span'):wikitext('Versions: '..self.versions) self.switch_datatable:tag('span'):wikitext('Default version: '..self.default_version) self:buttons() end return self end function Infobox:add_switch_data(content) -- Only check for params if there are multiple versions if self.versions <= 1 then return false end if type(content) ~= 'table' then return false end -- Only if the data varies between the different versions local first_value = self:get_param(cell_params.content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(cell_params.content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- Prepend raw__ or smw$__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = edit end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Add parameters functions All parameters should be tables The first parameter defines the type of cell to create -- tag = 'th' or 'td' The second parameter defines what is inside the tag -- content = string or Infobox.param Additional named parameters can be used to add any styling or attributes -- attr : mw.html:attr({ arg1 = '1', ... }) -- css : mw.html:css({ arg1 = '1', ...) -- class : mw.html:addClass('arg') (common class: infobox-subheader) ---- class also supports a table of values, even though mw.html:addClass() does not -- rowspan : mw.html:attr('rowspan',arg) -- colspan : mw.html:attr('colspan',arg) -- title : mw.html:attr('title',arg) Example: ipsobox:addRow( { 'th' , 'Header', title = 'Title' }, { 'argh', 'arg1', class = 'parameter' } }) produces: <tr><th title="Title">Header</th><th class="parameter">args.arg1</th></tr> adding it to the infobox table of ipsobox Cells defined as 'argh' and 'argd' will automatically have data-attr-param="" added, and defined as the passed argument if the infobox in creation is defined as a switch infobox The row itself may be modified with metadata using the named index "addClass' -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) -- New row to add local args = ... local _row = self.rtable:tag('tr') -- For each member of tags for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- mw.html:attr() and mw.html:css() both accept table input -- colspan, rowspan, title will be quick ways to access attr -- these functions also do all the necessary work if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end -- if class is a string, it can be added directly -- if a table, add every value -- mw.html:addClass() doesn't function with tables -- so iterate over the class names here and add them individually if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end local content = Infobox:get_param(v.content, self.default_version) if content == nil then content = edit end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ -- adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self:tag('tr') :tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end -- addClass function Infobox:addClass(arg) self.rtable:addClass(arg) return self end -- Override tostring function Infobox:tostring() error_text = '' if #self.errors > 0 then for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end end return tostring(self.rtable) .. tostring(self.switch_datatable) .. tostring(error_text) end function Infobox:dump() mw.log(mw.dumpObject(self)) mw.log(tostring(self)) end return Infobox 3701cede86db40d56bd173a17a28884cfff09786 1395 1394 2024-03-26T02:22:02Z Gau Cho 5 Fix tabs Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local edit = editbutton("'''?''' (edit)") local pagename = mw.title.getCurrentTitle().fullText local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- infobox_name: the name of the infobox -- args : parameters from frame to pass through -- Special args: version, default_version -- Sets a meta table and creates a <div> tag wrapper -- other fields are initialized in other functions --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {'INFOBOX_ERROR'}, -- title of each version (for selection and SMW); version_name[0] should not be used (base index should be 1) rtable = nil, -- infobox table to return at the end switch_datatable = nil, -- datatable for javascript for switch infoboxes errors = {}, -- list of errors }, Infobox) obj:config(config) obj:parse_versions() obj:create() obj:define_params(params) return obj end function Infobox:config(...) for k, v in pairs(...) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Function for defining parameters -- name : parameter name -- func : function to define param, defaults to looking at blanks DO NOT DEFINE VERSION HERE USE :maxVersion() Can be used any number of times for efficient definition --]] function Infobox:define_params(...) for _, v in ipairs(...) do -- For every parameter, store its corresponding function to self.params if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end self.params[v.name] = param table.insert(self.param_names, v.name) end end self:parse_params() --self:parse_categories() return self end --[[ Counts the number of versions in the infobox, and populates version_names --]] function Infobox:parse_versions() -- Count the versions local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - might have a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end -- Value is not defined if "action=edit" exists in string, otherwise -- value is defined if not nil and non-empty string function Infobox.is_value_defined(value) if value == nil then return false end if type(value) ~= 'string' then return true end if value:find('action=edit') then return false end if value:find('%S') then return true end return false end --[[ Checks to see if a param is defined. Returns 0 if param is never defined. Returns 1 if param is defined for some versions. Returns 2 if param is defined for all versions. -- param: a table generated from Infobox:param(), Infobox:raw_param() or Infobox:smw_param() ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if self.is_value_defined(value) then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a table generated from Infobox:param(), Infobox:raw_param() or Infobox:smw_param(), or else -- version: '' for default, or else a number --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] if value == nil then -- Try to get default value if it exists value = self[arg.property][arg.param_name] end return value end -- Other (int, string) return arg end --[[ Calculates the parsed value of a param -- param_name : string, name of the param -- version : 0/'' for default, or else a number -- smw : boolean, whether to use the smw function or default function --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' -- default version end -- Only get the parsed value if the raw value is defined if self.args_raw[param_name..version] then self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end end function Infobox:store_smw() -- Abort if not in mainspace if mw.title.getCurrentTitle().namespace ~= 0 then return false end -- Store a subobject for each version for version=1, self.versions do -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..pagename..'#'..self.version_names[version] local subobject = {} -- Store each param that has smw_property defined and has a defined value for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if self.is_value_defined(value) then subobject[property] = value end end end local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end return true end function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end ----------- -- Table -- ----------- function Infobox:buttons() if self.versions < 2 then return end local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-version', self.default_version) -- Dropdown list instead of buttons if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end for version=1, self.versions do buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) end end function Infobox:create() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Add necessary class if switch infobox if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') self.switch_datatable:tag('span'):wikitext('Versions: '..self.versions) self.switch_datatable:tag('span'):wikitext('Default version: '..self.default_version) self:buttons() end return self end function Infobox:add_switch_data(content) -- Only check for params if there are multiple versions if self.versions <= 1 then return false end if type(content) ~= 'table' then return false end -- Only if the data varies between the different versions local first_value = self:get_param(cell_params.content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(cell_params.content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- Prepend raw__ or smw$__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = edit end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Add parameters functions All parameters should be tables The first parameter defines the type of cell to create -- tag = 'th' or 'td' The second parameter defines what is inside the tag -- content = string or Infobox.param Additional named parameters can be used to add any styling or attributes -- attr : mw.html:attr({ arg1 = '1', ... }) -- css : mw.html:css({ arg1 = '1', ...) -- class : mw.html:addClass('arg') (common class: infobox-subheader) ---- class also supports a table of values, even though mw.html:addClass() does not -- rowspan : mw.html:attr('rowspan',arg) -- colspan : mw.html:attr('colspan',arg) -- title : mw.html:attr('title',arg) Example: ipsobox:addRow( { 'th' , 'Header', title = 'Title' }, { 'argh', 'arg1', class = 'parameter' } }) produces: <tr><th title="Title">Header</th><th class="parameter">args.arg1</th></tr> adding it to the infobox table of ipsobox Cells defined as 'argh' and 'argd' will automatically have data-attr-param="" added, and defined as the passed argument if the infobox in creation is defined as a switch infobox The row itself may be modified with metadata using the named index "addClass' -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) -- New row to add local args = ... local _row = self.rtable:tag('tr') -- For each member of tags for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- mw.html:attr() and mw.html:css() both accept table input -- colspan, rowspan, title will be quick ways to access attr -- these functions also do all the necessary work if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end -- if class is a string, it can be added directly -- if a table, add every value -- mw.html:addClass() doesn't function with tables -- so iterate over the class names here and add them individually if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end local content = Infobox:get_param(v.content, self.default_version) if content == nil then content = edit end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ -- adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self:tag('tr') :tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end -- addClass function Infobox:addClass(arg) self.rtable:addClass(arg) return self end -- Override tostring function Infobox:tostring() error_text = '' if #self.errors > 0 then for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end end return tostring(self.rtable) .. tostring(self.switch_datatable) .. tostring(error_text) end function Infobox:dump() mw.log(mw.dumpObject(self)) mw.log(tostring(self)) end return Infobox c3b6b3db13eb54c482f793ab4c480d202fe2402f Log 0 750 1396 2024-03-26T06:26:57Z ToofleBerry 6 Created page with "{{Unofficial name}} {{Infobox Item |name = |image = Log.png |release = Q3 [[2024]] |episode = Hopeforest |profession = Woodcutter |value = 48 }} '''Log'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Log.png |release = Q3 [[2024]] |episode = Hopeforest |profession = Woodcutter |value = 48 }} '''Log'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] 1c13990fa3f64b137bb7bf022367f903c9949ba7 Log basket 0 751 1397 2024-03-26T06:27:39Z ToofleBerry 6 Created page with "{{Unofficial name}} {{Infobox Item |name = |image = Log basket.png |release = Q3 [[2024]] |episode = Hopeforest |profession = Woodcutter |value = 22 }} '''Log basket'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Log basket.png |release = Q3 [[2024]] |episode = Hopeforest |profession = Woodcutter |value = 22 }} '''Log basket'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] c60818376c792e4a8ea7e3898ae5cc8a944a795e Sword 0 193 1398 340 2024-03-26T06:28:30Z ToofleBerry 6 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Sword.png |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Swords'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> are a type of [[weapon]] in [[Brighter Shores]], typically utilised by the [[cryoknight]] class. ==References== {{Reflist}} [[Category:Items]] f3a8d2ce274673fcd4cef7c265f63ff28a806cdb Iron platebody 0 752 1399 2024-03-26T06:29:11Z ToofleBerry 6 Created page with "{{Unofficial name}} {{Infobox Item |name = |image = Iron platebody.png |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Iron platebody'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Iron platebody.png |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Iron platebody'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] e7070b07223e99af603ae5a3d0911c11c44de833 Iron legs 0 753 1400 2024-03-26T06:29:34Z ToofleBerry 6 Created page with "{{Unofficial name}} {{Infobox Item |name = |image = Iron legs.png |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Iron legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Iron legs.png |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Iron legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] 1744d2a5de4232b1579b96b49b6d6c48cd3b3fe5 Bronze legs 0 754 1401 2024-03-26T06:29:59Z ToofleBerry 6 Created page with "{{Unofficial name}} {{Infobox Item |name = |image = Bronze legs.png |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Bronze legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Bronze legs.png |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Bronze legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] 85d6f5aa5fecb29c0691cf984bfe59c49a318da0 Shield 0 755 1402 2024-03-26T06:30:35Z ToofleBerry 6 Created page with "{{Unofficial name}} {{Infobox Item |name = |image = Shield.png |release = Q3 [[2024]] |episode = Hopeport |profession = Combat |value = 50 }} '''Shield'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Shield.png |release = Q3 [[2024]] |episode = Hopeport |profession = Combat |value = 50 }} '''Shield'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] ad92d4c173679cea8c2e163be648757876350458 Steel legs 0 756 1403 2024-03-26T06:31:48Z ToofleBerry 6 Created page with "{{Unofficial name}} {{Infobox Item |name = |image = Steel legs.png |release = Q3 [[2024]] |episode = Mine of Mantuban |profession = Combat |value = 200 }} '''Steel legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Steel legs.png |release = Q3 [[2024]] |episode = Mine of Mantuban |profession = Combat |value = 200 }} '''Steel legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] 264992d9090ddcab251cff36bcc156afcf68e6a2 1415 1403 2024-03-26T06:37:53Z ToofleBerry 6 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Steel legs.png |release = Q3 [[2024]] |episode = Mine of Mantuban |profession = Combat |value = 200 }} '''Steel legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] e63116b9e279d20de9128c7db8fb6db08d7a79d1 1446 1415 2024-03-26T07:21:38Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Steel legs.png |premium = Yes |release = Q3 [[2024]] |episode = Mine of Mantuban |profession = Combat |value = 200 }} '''Steel legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] 54a2d5c962a85cf4c90e2510f30b59290d42f696 Skeleton platebody 0 757 1404 2024-03-26T06:32:14Z ToofleBerry 6 Created page with "{{Unofficial name}} {{Infobox Item |name = |image = Skeleton platebody.png |release = Q3 [[2024]] |episode = Mine of Mantuban |profession = Combat |value = 100 }} '''Skeleton platebody'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Skeleton platebody.png |release = Q3 [[2024]] |episode = Mine of Mantuban |profession = Combat |value = 100 }} '''Skeleton platebody'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] db50dd64df054508ada24f861bd7a84445397d12 1413 1404 2024-03-26T06:37:38Z ToofleBerry 6 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Skeleton platebody.png |release = Q3 [[2024]] |episode = Mine of Mantuban |profession = Combat |value = 100 }} '''Skeleton platebody'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] 7f7ba25b38ec5b8a1e6dce59ded180d369b79215 1451 1413 2024-03-26T07:24:06Z BlackHawk 10 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Skeleton platebody.png |premium = Yes |release = Q3 [[2024]] |episode = Mine of Mantuban |profession = Combat |value = 100 }} '''Skeleton platebody'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] 04ce10407bdd95a9cd1ca75f75221669d2733af7 Template:Infobox Item 10 77 1405 1307 2024-03-26T06:33:45Z ToofleBerry 6 Manbutan -> Mantuban. wikitext text/x-wiki {| class="wikitable infobox-item" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Mantuban=[[File:Mine of Mantuban episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{#if:{{{profession|}}}|{{{profession}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing profession]]}}}} |- |<b>Value</b>||{{#if:{{{value|}}}|{{{value}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing value]]}}}} |}{{Mainonly|[[Category:Items]]}}<noinclude>{{clear}}{{/doc}}</noinclude> f3eebbc550c3f88bae2831bccdcc7a36b8bfbb91 1406 1405 2024-03-26T06:34:24Z ToofleBerry 6 wikitext text/x-wiki {| class="wikitable infobox-item" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Mantuban=[[File:Mine of Mantuban episode icon.png|18px]] [[Mine of Mantuban]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{#if:{{{profession|}}}|{{{profession}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing profession]]}}}} |- |<b>Value</b>||{{#if:{{{value|}}}|{{{value}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing value]]}}}} |}{{Mainonly|[[Category:Items]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 48ee82ad746f10eba09afdf01ab51bb3548df8e2 1407 1406 2024-03-26T06:35:01Z ToofleBerry 6 Added episode categories. wikitext text/x-wiki {| class="wikitable infobox-item" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]][[Category:Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]][[Category:Hopeforest]]|Mine of Mantuban=[[File:Mine of Mantuban episode icon.png|18px]] [[Mine of Mantuban]][[Category:Mine of Mantuban]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{#if:{{{profession|}}}|{{{profession}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing profession]]}}}} |- |<b>Value</b>||{{#if:{{{value|}}}|{{{value}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing value]]}}}} |}{{Mainonly|[[Category:Items]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 110b29fe363bd7f30ac12107f723bc46da4ac51e 1422 1407 2024-03-26T06:48:56Z ToofleBerry 6 Added "Premium Pass" category to Mine of Mantuban items. wikitext text/x-wiki {| class="wikitable infobox-item" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]][[Category:Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]][[Category:Hopeforest]]|Mine of Mantuban=[[File:Mine of Mantuban episode icon.png|18px]] [[Mine of Mantuban]][[Category:Mine of Mantuban]][[Category:Premium_Pass]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{#if:{{{profession|}}}|{{{profession}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing profession]]}}}} |- |<b>Value</b>||{{#if:{{{value|}}}|{{{value}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing value]]}}}} |}{{Mainonly|[[Category:Items]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 26e037d7c8927c519250e6eb57333c93e7690d33 1438 1422 2024-03-26T07:17:24Z ToofleBerry 6 wikitext text/x-wiki {| class="wikitable infobox-item" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]][[Category:Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]][[Category:Hopeforest]]|Mine of Mantuban=[[File:Mine of Mantuban episode icon.png|18px]] [[Mine of Mantuban]][[Category:Mine of Mantuban]][[Category:Premium_Pass]]|Crenopolis=[[File:Crenopolis episode icon.png|18px]] [[Crenopolis]][[Category:Crenopolis]][[Category:Premium_Pass]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- |<b>Profession</b>||{{#if:{{{profession|}}}|{{{profession}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing profession]]}}}} |- |<b>Value</b>||{{#if:{{{value|}}}|{{{value}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing value]]}}}} |}{{Mainonly|[[Category:Items]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 780cf1fb70cfb170f4ffe7ebfeac0c0992d3b5c3 1441 1438 2024-03-26T07:19:33Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-item" style="float:right" ! colspan="2" | {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- | colspan="2" style="text-align:center" | {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- | <b>Release date</b> || {{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- | <b>Premium</b> || {{#switch:{{lc:{{{premium|}}}}}|yes=Yes{{Mainonly|[[Category:Premium items]]}}|no=No|#default={{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Needs premium status]]}}}} |- | <b>Episode</b> || {{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]][[Category:Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]][[Category:Hopeforest]]|Mine of Mantuban=[[File:Mine of Mantuban episode icon.png|18px]] [[Mine of Mantuban]][[Category:Mine of Mantuban]]|Crenopolis=[[File:Crenopolis episode icon.png|18px]] [[Crenopolis]][[Category:Crenopolis]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- | <b>Profession</b> || {{#if:{{{profession|}}}|{{{profession}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing profession]]}}}} |- | <b>Value</b> || {{#if:{{{value|}}}|{{{value}}}|{{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Items needing value]]}}}} |}{{Mainonly|[[Category:Items]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 57783f12feca5d2f455865812bb1a243593dab57 Category:Mine of Mantuban 14 758 1408 2024-03-26T06:35:33Z ToofleBerry 6 Created page with "[[Category:Episodes]]" wikitext text/x-wiki [[Category:Episodes]] 4866d4b9c488a487bbc66a72d44f5151cf0ac1ed 1409 1408 2024-03-26T06:36:36Z ToofleBerry 6 wikitext text/x-wiki [[Category:Locations]] 3c87035104589422729b1e55f5f98737a79ffb3d Bronze legs 0 754 1410 1401 2024-03-26T06:37:27Z ToofleBerry 6 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Bronze legs.png |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Bronze legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] c25301e46e2fc0b900d99a51f35995c74e0eb7d7 Iron legs 0 753 1411 1400 2024-03-26T06:37:30Z ToofleBerry 6 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Iron legs.png |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Iron legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] 4b3b97ed15b108b8d908cbaa53519c7e0b0162c7 Iron platebody 0 752 1412 1399 2024-03-26T06:37:34Z ToofleBerry 6 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Iron platebody.png |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Iron platebody'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] 35614e2f9b7002c24394d269396af13a522bf46b Staff 0 733 1414 1362 2024-03-26T06:37:48Z ToofleBerry 6 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Staff.png |release = |episode = |profession = Combat |value = }} A '''staff''' is a type of [[weapon]] in [[Brighter Shores]]<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] fb51975d0019c606d7cade41f6f700cb662b6665 Sword 0 193 1416 1398 2024-03-26T06:37:58Z ToofleBerry 6 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Sword.png |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Swords'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> are a type of [[weapon]] in [[Brighter Shores]], typically utilised by the [[cryoknight]] class. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] 3749e921ce381acb8d601ece662149b0d72f0482 Shield 0 755 1417 1402 2024-03-26T06:38:01Z ToofleBerry 6 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = |image = Shield.png |release = Q3 [[2024]] |episode = Hopeport |profession = Combat |value = 50 }} '''Shield'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] a28574fed66c1401d051a73e065b860192edc10c Monsters 0 377 1418 1349 2024-03-26T06:42:12Z BlackHawk 10 wikitext text/x-wiki '''Monsters''' are creatures in [[Brighter Shores]] that can be attacked. They are fought in [[combat]] for their loot, including valuable currency items. There are many monsters in Brighter Shores, including: * [[Firetoad]] * [[Grumpy Pirate]] * [[Gurnard]] * [[Mawchest]] * [[Punkupine]] * [[Slime Fiend]] * [[Sneaky Thief]] * [[Wailing Shade]] {{Mechanics}} [[Category:Monsters]] 9bc70f4b35f006a8c4999cc354ad827f083f6755 Template:Infobox NPC 10 719 1419 1330 2024-03-26T06:45:46Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-npc" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- {{#if:{{{profession|}}}| ! Profession {{!}}{{{profession}}} {{!}}-}} |}{{Mainonly|[[Category:Non-player characters]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 07086a1bc43674ea2b1722b5bd262f42cd85a509 1420 1419 2024-03-26T06:46:21Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-npc" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- {{#if:{{{profession|}}}| | <b>Profession</b> {{!}}{{{profession}}} {{!}}-}} |}{{Mainonly|[[Category:Non-player characters]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 93f1c25839b0cd3833e35c4f73ce7aea346a966d 1421 1420 2024-03-26T06:46:53Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-npc" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- {{#if:{{{profession|}}}| {{!}} <b>Profession</b> {{!}}{{{profession}}} {{!}}-}} |}{{Mainonly|[[Category:Non-player characters]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 866d2ad3192e7b0d863c424db30d806bf8a1173f 1425 1421 2024-03-26T06:52:11Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-npc" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Manbutan=[[File:Mine of Manbutan episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- {{#if:{{{profession|}}}| {{!}} <b>Profession</b> {{!}}{{{profession}}} {{!}}-}} {{#if:{{{shop|}}}| {{!}} <b>Shop</b> {{!}}{{{shop}}} {{!}}-}} |}{{Mainonly|[[Category:Non-player characters]]}}<noinclude>{{clear}}{{/doc}}</noinclude> f8f1ad48c4cc8ff18c1549c095baa88b5b272595 1428 1425 2024-03-26T06:53:50Z ToofleBerry 6 Added categories, corrected Mantuban typo. wikitext text/x-wiki {| class="wikitable infobox-npc" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]][[Category:Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]][[Category:Hopeforest]]|Mine of Mantuban=[[File:Mine of Mantuban episode icon.png|18px]][[Category:Mine of Mantuban]][[Category:Premium_Pass]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- {{#if:{{{profession|}}}| {{!}} <b>Profession</b> {{!}}{{{profession}}} {{!}}-}} {{#if:{{{shop|}}}| {{!}} <b>Shop</b> {{!}}{{{shop}}} {{!}}-}} |}{{Mainonly|[[Category:Non-player characters]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 2df7505f730b7b813b8ceb084610db07afaed32f 1439 1428 2024-03-26T07:17:44Z ToofleBerry 6 Added Crenopolis. wikitext text/x-wiki {| class="wikitable infobox-npc" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]][[Category:Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]][[Category:Hopeforest]]|Mine of Mantuban=[[File:Mine of Mantuban episode icon.png|18px]][[Category:Mine of Mantuban]][[Category:Premium_Pass]]|Crenopolis=[[File:Crenopolis episode icon.png|18px]] [[Crenopolis]][[Category:Crenopolis]][[Category:Premium_Pass]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- {{#if:{{{profession|}}}| {{!}} <b>Profession</b> {{!}}{{{profession}}} {{!}}-}} {{#if:{{{shop|}}}| {{!}} <b>Shop</b> {{!}}{{{shop}}} {{!}}-}} |}{{Mainonly|[[Category:Non-player characters]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 20b2ed56087237b63840501502fff62e14700c9e Gurnard 0 444 1423 1325 2024-03-26T06:49:29Z BlackHawk 10 wikitext text/x-wiki {{Infobox NPC |name = Gurnard |image = |release = |episode = |profession = [[Fisher]] }} '''Gurnards''' are a type of [[fish]]. The Yellowtail variant can be found in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=}} ==Variants== * Yellowtail ==References== {{Reflist}} 9a55f27b84302f31fb95e3b48755bf50ca05059c Category:Hopeforest 14 759 1424 2024-03-26T06:51:08Z BlackHawk 10 Created page with "{{Categoryheader|pages|[[Hopeforest]]}} [[Category:Locations]]" wikitext text/x-wiki {{Categoryheader|pages|[[Hopeforest]]}} [[Category:Locations]] 9736d35ed59db9d0ae160b5486d3202aa33d2200 Template:Infobox NPC/doc 10 720 1426 1324 2024-03-26T06:52:31Z BlackHawk 10 wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the NPC. ===image=== The image of the NPC. ===release=== The release date of the NPC. ===episode=== The episode of the NPC. One of: * Hopeport * Hopeforest * Mine of Manbutan ===profession=== The profession of the NPC. ===shop=== The shop of the NPC. ==Quick copy== <pre>{{Infobox NPC |name = |image = |release = |episode = |profession = |shop = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> 707321c50b169a7b22be698ef9d61e654a566cdf 1433 1426 2024-03-26T07:11:36Z InvalidCards 4 tuba wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the NPC. ===image=== The image of the NPC. ===release=== The release date of the NPC. ===episode=== The episode of the NPC. One of: * Hopeport * Hopeforest * Mine of Mantuban ===profession=== The profession of the NPC. ===shop=== The shop of the NPC. ==Quick copy== <pre>{{Infobox NPC |name = |image = |release = |episode = |profession = |shop = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> a25636111946ddf0f27b4cd6b3f02e08d8222e64 Lani 0 93 1427 1332 2024-03-26T06:53:22Z BlackHawk 10 wikitext text/x-wiki {{Infobox NPC |name = Lani |image = |release = |episode = |profession = |shop = [[Lani's Curiosities]] }} '''Lani''' is the owner of [[Lani's Curiosities]]. ad37f253dea6671c8bd532ea2511b4165650c1c5 Melv 0 87 1429 1333 2024-03-26T06:53:55Z BlackHawk 10 wikitext text/x-wiki {{Infobox NPC |name = Melv |image = |release = |episode = |profession = |shop = [[Melv's Fishing Supplies]] }} '''Melv''' is the shop owner of [[Melv's Fishing Supplies]]. e0835083fd2b62e630f15ee0a4cd056137a10cd8 File:Sense.png 6 760 1430 2024-03-26T06:58:57Z BlackHawk 10 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Sense 0 317 1431 513 2024-03-26T06:59:08Z BlackHawk 10 wikitext text/x-wiki [[File:Sense.png|left]] '''Sense''' is a [[spell]] that [[player]]s can use to detect monsters and objects around them. After casting it, entities in a small area around the player will have tooltips and nameplates displaying their name and information about them.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=Once you learn the sense spell you can highlight everything interactive nearby. No more hunting around for small items!}} ==References== {{Reflist}} aec247837d7a8a15ec210cefa4a857e2ac32fd4c 1432 1431 2024-03-26T06:59:54Z ToofleBerry 6 Added category "Spells". wikitext text/x-wiki [[File:Sense.png|left]] '''Sense''' is a [[spell]] that [[player]]s can use to detect monsters and objects around them. After casting it, entities in a small area around the player will have tooltips and nameplates displaying their name and information about them.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=Once you learn the sense spell you can highlight everything interactive nearby. No more hunting around for small items!}} ==References== {{Reflist}} [[Category:Spells]] 4defe4104f83b572a5a79689b241dcf3955152bb Template:Infobox Item/doc 10 694 1434 1250 2024-03-26T07:12:18Z ToofleBerry 6 Tuba wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the item. ===image=== The image of the item. ===release=== The release date of the item. ===episode=== The episode of the item. One of: * Hopeport * Hopeforest * Mine of Mantuban ===profession=== The profession of the item. ===value=== The value of the item. ==Quick copy== <pre>{{Infobox Item |name = |image = |release = |episode = |profession = |value = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> 59b8e4768c6f80c52dd3f8a5b46cb86e9c0c03a2 1443 1434 2024-03-26T07:20:48Z BlackHawk 10 wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the item. ===image=== The image of the item. ===release=== The release date of the item. ===premium=== Whether or not this item is requires a [[premium pass]]. ===episode=== The episode of the item. One of: * Hopeport * Hopeforest * Mine of Mantuban ===profession=== The profession of the item. ===value=== The value of the item. ==Quick copy== <pre>{{Infobox Item |name = |image = |release = |episode = |profession = |value = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> 3e1b960749020b5c1e01c621bdf03a1ccce8bab2 1444 1443 2024-03-26T07:21:05Z BlackHawk 10 wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the item. ===image=== The image of the item. ===release=== The release date of the item. ===premium=== Whether or not this item is requires a [[premium pass]]. ===episode=== The episode of the item. One of: * Hopeport * Hopeforest * Mine of Mantuban ===profession=== The profession of the item. ===value=== The value of the item. ==Quick copy== <pre>{{Infobox Item |name = |image = |release = |premium = |episode = |profession = |value = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> bd981c0f0b114a1015a8e400e16edb0e6374600d Template:Infobox Scenery/doc 10 692 1435 1248 2024-03-26T07:12:52Z ToofleBerry 6 Tuba. wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the scenery. ===image=== The image of the scenery. ===release=== The release date of the scenery. ===episode=== The episode of the scenery. One of: * Hopeport * Hopeforest * Mine of Mantuban ==Quick copy== <pre>{{Infobox Scenery |name = |image = |release = |episode = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> a6a657429c1bf457306e035d341d28ea92f181dc Template:Infobox Scenery 10 690 1436 1309 2024-03-26T07:13:05Z ToofleBerry 6 Tuba. wikitext text/x-wiki {| class="wikitable infobox-scenery" style="float:right" !colspan="2"| {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center"| {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- |<b>Release date</b>||{{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- |<b>Episode</b>||{{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]]|Mine of Mantuban=[[File:Mine of Mantuban episode icon.png|18px]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |}{{Mainonly|[[Category:Scenery]]}}<noinclude>{{clear}}{{/doc}}</noinclude> c448dd6e1081de44f57fce220a9cd39cc861cf9e File:Crenopolis episode icon.png 6 761 1437 2024-03-26T07:16:46Z ToofleBerry 6 {{Transparency}} Derivative from https://brightershores.com/20240313/tier_comparison_table.png wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/20240313/tier_comparison_table.png f7cda1b9d2381bd78d8c768860cf42bfea676450 Category:Crenopolis 14 762 1440 2024-03-26T07:19:28Z ToofleBerry 6 Created page with "[[Category:Locations]]" wikitext text/x-wiki [[Category:Locations]] 3c87035104589422729b1e55f5f98737a79ffb3d Premium pass 0 763 1442 2024-03-26T07:20:43Z BlackHawk 10 Redirected page to [[Premium Pass]] wikitext text/x-wiki #REDIRECT [[Premium Pass]] bf43d4c5096a873a9dbfe78f0c617b2e6ff6d2df Members 0 764 1445 2024-03-26T07:21:11Z ToofleBerry 6 Redirected page to [[Premium Pass]] wikitext text/x-wiki #REDIRECT [[Premium Pass]] bf43d4c5096a873a9dbfe78f0c617b2e6ff6d2df Alchemist 0 63 1447 1173 2024-03-26T07:22:15Z ToofleBerry 6 wikitext text/x-wiki {{Infobox Profession |name = Alchemist |image = [[File:Profession alchemist.png|50px]] }} [[File:Alchemist.jpg|thumb|right|A player practicing Alchemy.]] '''Alchemist''' is a type of [[professions|profession]]. {{Professions}} 2baa03b6ec0b924df49e9ffb23cb5027ae079cac Template:Professions 10 115 1448 1193 2024-03-26T07:22:38Z ToofleBerry 6 wikitext text/x-wiki {{Navbox |name = Professions |title = [[Professions]] |style1 = text-align:center |group1 = * {{plink|Fisher|pic=Profession fisher|size=28x28}} * {{plink|Forager|pic=Profession forager|size=28x28}} * [[Chef]] * {{plink|Woodcutter|pic=Woodcutter icon|size=28x28}} * [[Miner]] * {{plink|Alchemist|pic=Profession alchemist|size=28x28}} * [[Stonemason]] * [[Merchant]] * [[Blacksmith]] }}{{Ctg|Professions}} 48f3237355f4d6e469215e51c8beb50096ff6420 Category:Premium items 14 765 1449 2024-03-26T07:22:50Z BlackHawk 10 Created page with "{{categoryheader|pages and images|premium items}} {{Category ABC}} [[Category:Items]]" wikitext text/x-wiki {{categoryheader|pages and images|premium items}} {{Category ABC}} [[Category:Items]] 5bcf44681f156a8f6004268d0bb2449d5959f021 Category:Needs premium status 14 766 1450 2024-03-26T07:23:32Z BlackHawk 10 Created page with "{{Categoryheader|pages|pages that needs the premium status added|yes|infoboxes that need the premium status parameter filled}} {{Hidden category}} [[Category:Needs information]] [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__" wikitext text/x-wiki {{Categoryheader|pages|pages that needs the premium status added|yes|infoboxes that need the premium status parameter filled}} {{Hidden category}} [[Category:Needs information]] [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__ 52dd19fed350d2e84155d3fd35b0ec49a26fd925 Category:Needs information 14 767 1452 2024-03-26T07:24:44Z BlackHawk 10 Created page with "{{Categoryheader|pages|page that needs information added|yes|any infobox with a parameter not filled in}} {{Hidden category}} [[Category:Maintenance categories]]" wikitext text/x-wiki {{Categoryheader|pages|page that needs information added|yes|any infobox with a parameter not filled in}} {{Hidden category}} [[Category:Maintenance categories]] 37e7dc8b4e6953da6068c1244d1fb2fd14553d12 Category:Premium items 14 765 1453 1449 2024-03-26T07:26:29Z BlackHawk 10 wikitext text/x-wiki {{categoryheader|pages and images|premium items}} {{Category ABC}} [[Category:Items]] [[Category:Premium Pass]] b283cb87265a0c8cc9558d844ac579a1003ffed4 Template:Infobox NPC 10 719 1454 1439 2024-03-26T07:40:17Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-npc" style="float:right" ! colspan="2" | {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center" | {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- | <b>Release date</b> || {{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- | <b>Premium</b> || {{#switch:{{lc:{{{premium|}}}}}|yes=Yes{{Mainonly|[[Category:Premium non-player characters]]}}|no=No|#default={{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Needs premium status]]}}}} |- | <b>Episode</b> || {{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]][[Category:Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]][[Category:Hopeforest]]|Mine of Mantuban=[[File:Mine of Mantuban episode icon.png|18px]] [[Mine of Mantuban]][[Category:Mine of Mantuban]]|Crenopolis=[[File:Crenopolis episode icon.png|18px]] [[Crenopolis]][[Category:Crenopolis]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |- {{#if:{{{profession|}}}| {{!}} <b>Profession</b> {{!}}{{{profession}}} {{!}}-}} {{#if:{{{shop|}}}| {{!}} <b>Shop</b> {{!}}{{{shop}}} {{!}}-}} |}{{Mainonly|[[Category:Non-player characters]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 2d9f21044b7cc186c5250266da07071b7b6b2c94 Template:Infobox NPC/doc 10 720 1455 1433 2024-03-26T07:41:01Z BlackHawk 10 wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the NPC. ===image=== The image of the NPC. ===release=== The release date of the NPC. ===premium=== Whether or not this NPC requires a premium pass. ===episode=== The episode of the NPC. One of: * Hopeport * Hopeforest * Mine of Mantuban ===profession=== The profession of the NPC. ===shop=== The shop of the NPC. ==Quick copy== <pre>{{Infobox NPC |name = |image = |release = |premium = |episode = |profession = |shop = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> a4a63146309f277ce5454bc852d08ed049e1616a 1459 1455 2024-03-26T07:45:40Z BlackHawk 10 wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the NPC. ===image=== The image of the NPC. ===release=== The release date of the NPC. ===premium=== Whether or not this NPC requires a [[premium pass]]. ===episode=== The episode of the NPC. One of: * Hopeport * Hopeforest * Mine of Mantuban ===profession=== The profession of the NPC. ===shop=== The shop of the NPC. ==Quick copy== <pre>{{Infobox NPC |name = |image = |release = |premium = |episode = |profession = |shop = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> e5bd8cf0ac8e37b46cdc9006109243da6d8791b4 1462 1459 2024-03-26T07:48:39Z BlackHawk 10 wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the NPC. ===image=== The image of the NPC. ===release=== The release date of the NPC. ===premium=== Whether or not this NPC requires a [[premium pass]]. ===episode=== The episode of the NPC. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ===profession=== The profession of the NPC. ===shop=== The shop of the NPC. ==Quick copy== <pre>{{Infobox NPC |name = |image = |release = |premium = |episode = |profession = |shop = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> e7886a5c5f65263590fe8d4758df4936793a3933 Category:Premium non-player characters 14 768 1456 2024-03-26T07:42:33Z BlackHawk 10 Created page with "{{categoryheader|pages and images|premium non-player characters}} {{Category ABC}} [[Category:Non-player characters]] [[Category:Premium Pass]]" wikitext text/x-wiki {{categoryheader|pages and images|premium non-player characters}} {{Category ABC}} [[Category:Non-player characters]] [[Category:Premium Pass]] 50e6819626a217e5f268a1ec4237645007434406 Template:Infobox Profession 10 661 1457 1308 2024-03-26T07:44:36Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-profession" style="float:right" ! colspan="2" | {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- | colspan="2" style="text-align:center" | {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- | <b>Release date</b> || {{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- | <b>Premium</b> || {{#switch:{{lc:{{{premium|}}}}}|yes=Yes{{Mainonly|[[Category:Premium professions]]}}|no=No|#default={{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Needs premium status]]}}}} |}{{Mainonly|[[Category:Professions]]}}<noinclude>{{/doc}}</noinclude> e24401055d878984b897d7ea1087c1c16bbaad74 Template:Infobox Profession/doc 10 668 1458 1182 2024-03-26T07:45:27Z BlackHawk 10 wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the profession. ===image=== The profession icon. ===release=== The release date of the profession. ===premium=== Whether or not this profession is requires a [[premium pass]]. ==Quick copy== <pre>{{Infobox Profession |name = |image = |release = |premium = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> 7b07dd87c83b79e55a05edb59797f0cccf125dfa Category:Premium professions 14 769 1460 2024-03-26T07:47:04Z BlackHawk 10 Created page with "{{categoryheader|pages and images|premium professions}} {{Category ABC}} [[Category:Professions]] [[Category:Premium Pass]]" wikitext text/x-wiki {{categoryheader|pages and images|premium professions}} {{Category ABC}} [[Category:Professions]] [[Category:Premium Pass]] ad0f1bd79a6d3c77fa1495471ea5d02b11bb12a6 Template:Infobox Item/doc 10 694 1461 1444 2024-03-26T07:48:27Z BlackHawk 10 wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the item. ===image=== The image of the item. ===release=== The release date of the item. ===premium=== Whether or not this item is requires a [[premium pass]]. ===episode=== The episode of the item. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ===profession=== The profession of the item. ===value=== The value of the item. ==Quick copy== <pre>{{Infobox Item |name = |image = |release = |premium = |episode = |profession = |value = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> cf5c82024d328accd6afe2e3ddac10193f422609 1464 1461 2024-03-26T07:51:16Z BlackHawk 10 wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the item. ===image=== The image of the item. ===release=== The release date of the item. ===premium=== Whether or not this item requires a [[premium pass]]. ===episode=== The episode of the item. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ===profession=== The profession of the item. ===value=== The value of the item. ==Quick copy== <pre>{{Infobox Item |name = |image = |release = |premium = |episode = |profession = |value = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> 6169ceb1d0e8e8c060c4c0aa525c913b40a878d0 Template:Infobox Scenery 10 690 1463 1436 2024-03-26T07:50:31Z BlackHawk 10 wikitext text/x-wiki {| class="wikitable infobox-scenery" style="float:right" !colspan="2" | {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center" | {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- | <b>Release date</b> || {{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- | <b>Premium</b> || {{#switch:{{lc:{{{premium|}}}}}|yes=Yes{{Mainonly|[[Category:Premium scenery]]}}|no=No|#default={{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Needs premium status]]}}}} |- | <b>Episode</b> || {{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]][[Category:Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]][[Category:Hopeforest]]|Mine of Mantuban=[[File:Mine of Mantuban episode icon.png|18px]] [[Mine of Mantuban]][[Category:Mine of Mantuban]]|Crenopolis=[[File:Crenopolis episode icon.png|18px]] [[Crenopolis]][[Category:Crenopolis]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |}{{Mainonly|[[Category:Scenery]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 4fc57e9d1be3e2838331fca431ee992211fa7f2e Template:Infobox Scenery/doc 10 692 1465 1435 2024-03-26T07:51:23Z BlackHawk 10 wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the scenery. ===image=== The image of the scenery. ===release=== The release date of the scenery. ===premium=== Whether or not this scenery requires a [[premium pass]]. ===episode=== The episode of the scenery. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ==Quick copy== <pre>{{Infobox Scenery |name = |image = |release = |premium = |episode = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> 69b1165e20ed7cb883576ab68b122038b5665fbd Category:Premium scenery 14 770 1466 2024-03-26T07:52:17Z BlackHawk 10 Created page with "{{categoryheader|pages and images|premium scenery}} {{Category ABC}} [[Category:Scenery]] [[Category:Premium Pass]]" wikitext text/x-wiki {{categoryheader|pages and images|premium scenery}} {{Category ABC}} [[Category:Scenery]] [[Category:Premium Pass]] d2402876bc3155c64b81dc12fb965306054a8364 Template:Infobox Location 10 771 1467 2024-03-26T09:01:56Z BlackHawk 10 Created page with "{| class="wikitable infobox-location" style="float:right" ! colspan="2" | {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center" | {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- | <b>Release date</b> || {{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- | <b>Premium</b> || {{#switch:{{lc:{{{premium|}}}}}|yes=Yes{{Mainonly|[[Category:Premium locations]..." wikitext text/x-wiki {| class="wikitable infobox-location" style="float:right" ! colspan="2" | {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center" | {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- | <b>Release date</b> || {{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- | <b>Premium</b> || {{#switch:{{lc:{{{premium|}}}}}|yes=Yes{{Mainonly|[[Category:Premium locations]]}}|no=No|#default={{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Needs premium status]]}}}} |- | <b>Episode</b> || {{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]][[Category:Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]][[Category:Hopeforest]]|Mine of Mantuban=[[File:Mine of Mantuban episode icon.png|18px]] [[Mine of Mantuban]][[Category:Mine of Mantuban]]|Crenopolis=[[File:Crenopolis episode icon.png|18px]] [[Crenopolis]][[Category:Crenopolis]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |}{{Mainonly|[[Category:Locations]]}}<noinclude>{{clear}}{{/doc}}</noinclude> 9edcda936e70d12420ba106d3a4a541d3ab119aa Template:Infobox Location/doc 10 772 1468 2024-03-26T09:02:29Z BlackHawk 10 Created page with "{{Documentation}} ==Parameters== ===name=== The name of the location. ===image=== The image of the location. ===release=== The release date of the location. ===premium=== Whether or not this location requires a [[premium pass]]. ===episode=== The episode of the location. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ==Quick copy== <pre>{{Infobox Location |name = |image = |release = |premium = |episode = }}</pre> <includeonly>Category:Info..." wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the location. ===image=== The image of the location. ===release=== The release date of the location. ===premium=== Whether or not this location requires a [[premium pass]]. ===episode=== The episode of the location. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ==Quick copy== <pre>{{Infobox Location |name = |image = |release = |premium = |episode = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> 975f38969305e983d97c6b902c23211a41926334 Barricades 0 79 1469 367 2024-03-26T09:03:52Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Barricades |image = Barricades.jpg |release = |premium = |episode = }} The '''Barricades''' is a location that leads into the [[Mine Entrance]], which is guarded by a [[barricade guard]]. The player must talk to [[Captain Jal Degreene]] as part of a quest in order to be allowed through. 3e76e3a5898ac88003abce2f898c0b28024fad41 Category:Premium locations 14 773 1470 2024-03-26T09:04:21Z BlackHawk 10 Created page with "{{categoryheader|pages and images|premium locations}} {{Category ABC}} [[Category:Locations]] [[Category:Premium Pass]]" wikitext text/x-wiki {{categoryheader|pages and images|premium locations}} {{Category ABC}} [[Category:Locations]] [[Category:Premium Pass]] ea1f4c96f342cecbf590dae61d5c324dc36483e3 Bone Vats 0 81 1471 363 2024-03-26T09:07:50Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Bone Vats |image = Bone Vats.jpg |release = |premium = |episode = }} The '''Bone Vats''' is a location where players can craft items using bones. 890bc9fde9a40ed82bafa1c41eea2257ea7adf3d Cliffside Path 0 83 1472 316 2024-03-26T09:08:29Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Cliffside Path |image = Cliffside Path.jpg |release = |premium = |episode = }} The '''Cliffside Path''' is a location. It is a wooded path, inhabited by giant spiders, with large cobwebs strewn about. 99feb8046b00b9725ba5af0fe5f602bd93ecbf8b Crenopolis 0 75 1473 1133 2024-03-26T09:09:29Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Crenopolis |image = |release = |premium = Yes |episode = Crenopolis }} '''Crenopolis''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. Players require access to this location to unlock [[trading]], exclusive armour dyes, and name changes. {{Premium Pass}} d5ecde5dc9a7715878e93827189ea9b35a3054d4 Goblin Marketplace 0 82 1474 359 2024-03-26T09:09:56Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Goblin Marketplace |image = Goblin Marketplace.jpg |release = |premium = |episode = }} The '''Goblin Marketplace''' is a location where [[goblin]]s sell their wares. d45942b78551346533ab93053d3f848ec8b3d868 Professions 0 56 1475 1370 2024-03-26T09:16:31Z ToofleBerry 6 /* Gallery */ wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. Most professions can either be trained by the player actively playing the game, or passively while the game is closed. As the player progresses through the game, more professions will become available for the player to learn. Players aren't limited to one profession at a time; they can utilise multiple at once.{{CiteGeneral|url=https://www.gamesradar.com/runescape-creator-answers-our-biggest-questions-about-his-new-mmo-brighter-shores-classes-professions-monetization-and-a-ttrpg-open-world/|title=RuneScape creator answers our biggest questions about his new MMO Brighter Shores: classes, professions, monetization, and a TTRPG open world|author=Austin Wood|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/AxMwI|archivedate=23 March 2024|name=griv}} ==Passive training== Unlike other similar MMOs, players can continue to perform certain profession-related activities while logged out of the game. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | [[File:Woodcutter icon.png|30px|link=Woodcutter]] || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | [[File:Profession alchemist.png|30px|link=Alchemist]] || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery mode="packed" heights="160"> File:Professions preview 1.jpg|Fisher, Forager, Chef File:Professions preview 2.jpg|Woodcutter, Miner, Alchemist File:Professions preview 3.jpg|Stonemason, Merchant, Blacksmith </gallery> ==References== {{Reflist}} {{Professions}} {{Mechanics}} 56b6530e734c4f8c15d8b41aa848e68ceb68c790 Hopeforest 0 73 1476 230 2024-03-26T09:24:06Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Hopeforest |image = |release = |premium = No |episode = Hopeforest }} '''Hopeforest''' is a forest [[Locations|area]] that contains [[monster]]s, accessible to all [[player]]s. 62da8d121dbca3458bf20ceceaa85704592f051e Hopeport 0 68 1477 1219 2024-03-26T09:24:47Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Hopeport |image = |release = |premium = No |episode = Hopeport }} '''Hopeport''' is a coastal town in [[Adothria]]. It serves as the main introductory town for new [[player]]s.{{CiteGeneral|url=https://www.godisageek.com/2024/03/brighter-shores-is-a-new-mmorpg-coming-to-pc-and-mac/ |title=Brighter Shores is a new MMORPG coming to PC and Mac |author=Adam Cook |quote=Finding themselves in the peaceful coastal town of Hopeport, players initially take on the role of a town guard. Their role as protector, however, soon expands far beyond the town walls as they learn of a greater threat across the fantastical world of Adothria. |date=13 March 2024 |accessdate=24 March 2024 |archiveurl=https://archive.is/GVkr3 |archivedate=24 March 2024}} ==Features== * A [[Hopeport Harbor|harbor]] ==References== {{Reflist}} 269137367c61db8809d4757533a2af90697f264a Hopeport Obelisk 0 97 1478 551 2024-03-26T09:25:13Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Hopeport Obelisk |image = |release = |premium = No |episode = Hopeport }} The '''Hopeport Obelisk''' is a location near [[Hopeport]]. It is likely that it will be used as a fast travel location. ==Trivia== * Hopeport Obelisk is featured in the ''[[Brighter Shores]]'' logo. 34aab267aa246f3d3b70c7b1668618b67f20b889 1479 1478 2024-03-26T09:25:35Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Hopeport Obelisk |image = Hopeport Obelisk.jpg |release = |premium = No |episode = Hopeport }} The '''Hopeport Obelisk''' is a location near [[Hopeport]]. It is likely that it will be used as a fast travel location. ==Trivia== * Hopeport Obelisk is featured in the ''[[Brighter Shores]]'' logo. b9870da761ad73558d68e3dcd03742b684549585 Leech Pools 0 78 1480 369 2024-03-26T09:25:59Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Leech Pools |image = Leech Pools.jpg |release = |premium = |episode = }} The '''Leech Pools''' is a watery cave system. 6d603c0405a80a88ce9b752869a17ec3e19d4714 Mine of Mantuban 0 74 1481 781 2024-03-26T09:26:22Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Mine of Mantuban |image = |release = |premium = Yes |episode = Mine of Mantuban }} '''Mine of Mantuban''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. {{Premium Pass}} be372346d6cbc311e0613201883ed706588d76fd Pirate Hideout 0 442 1482 732 2024-03-26T09:26:42Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Pirate Hideout |image = |release = |premium = |episode = }} The '''Pirate Hideout''' is a [[location]]. It contains [[Gurnard]]s, [[Pirate]]s, [[Limpet]]s, [[Wrack]]s, and a few interactable scenery items. c21bca78828dd7033659df254c17780ff922b402 Quiet Grove 0 101 1483 378 2024-03-26T09:27:09Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Quiet Grove |image = Quiet Grove.jpg |release = |premium = |episode = }} The '''Quiet Grove''' is a location. It has an entrance to a mine. a85541947b36673ae95b551089243aaa5fa18f8d Southeast Sewer 0 88 1484 380 2024-03-26T09:27:25Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Southeast Sewer |image = Southeast Sewer.jpg |release = |premium = |episode = }} The '''Southeast Sewer''' is a location. 522750e3a6b6603f8b2d05b0b30be48f75674e1f Tanners Road 0 80 1485 365 2024-03-26T09:27:53Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Tanners Road |image = Tanners Road.jpg |release = |premium = No |episode = Hopeport }} '''Tanners Road''' is a road in [[Hopeport]]. It features various market stalls. 711a520f7f389722a00f34a076c878011e896cce Truck Cave 0 94 1486 350 2024-03-26T09:28:14Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Truck Cave |image = Truck Cave.jpg |release = |premium = |episode = }} The '''Truck Cave''' is a cave filled with minecart rails. b9a888072d0b3ab96e50116cf7fdb41eb00cb4bc Factions 0 72 1487 1393 2024-03-26T09:29:10Z BlackHawk 10 wikitext text/x-wiki [[File:Factions.jpg|thumb|right|Examples of the three factions.]] '''Factions''' in [[Brighter Shores]] allow the [[player]] to specialise in using a specific [[combat]] style, though all factions have access to [[melee]], [[ranged]] and [[magic]]. Players start off as a guard with the option to choose between being a [[Cryoknight]], [[Guardian]] or [[Hammermage]]. {{Quote2|You will discover powerful magic sources and become one of the legendary classes of old: Cryoknight, Guardian or Hammermage. Which is fortunate, because something is corrupting the deepest reaches of the nearby Hopeforest, and only through the strength of your new-found powers will you be able to deal with it.|Official website{{CiteGeneral|url=https://brightershores.com|title=Official Brighter Shores website|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/BaZ8w|archivedate=23 March 2024}}}} ==Factions== * The [[Cryoknight]] ([[File:Cryoknight icon.svg|18px]]) faction is focused on melee combat, using weapons like [[sword]]s alongside a [[shield]]. * [[Guardian]]s ([[File:Guardian icon.svg|18px]]) use ranged combat, preferring to wield weapons like [[crossbow]]s. * The [[Hammermage]] ([[File:Hammermage icon.svg|18px]]) faction fights using a mix of melee and magic. ==References== {{Reflist}} {{Factions}} {{Mechanics}} ef360eb6a3df3c4cae8ddbed657fec01ee00d7b2 Locations 0 366 1488 775 2024-03-26T14:39:59Z Wolaznik 8 Quiet Grove wikitext text/x-wiki '''Locations''' are places that exist in the [[Brighter Shores]] game world. ==Locations== * [[Hopeport]] * [[Hopeforest]] * [[Mine of Mantuban]] * [[Quiet Grove]] * [[Crenopolis]] [[Category:Locations|*]] 1f890eb6aff548eb411bdbdf2bd45d2f96497d81 Module:Infobox 828 102 1489 1395 2024-03-26T15:48:41Z Gau Cho 5 Clean up, annotated. Finalized, hopefully not many bugs Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = nil, -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - check for a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') self.switch_datatable:tag('span'):wikitext('Versions: '..self.versions) self.switch_datatable:tag('span'):wikitext('Default version: '..self.default_version) end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-version', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..mw.title.getCurrentTitle().fullText..'#'..self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {} for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions <= 1 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox e6883bf7660b0101d1d9fd9e821700c21865cff5 1503 1489 2024-03-26T17:53:04Z Gau Cho 5 Infobox:pad bugfix Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = nil, -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - check for a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') self.switch_datatable:tag('span'):wikitext('Versions: '..self.versions) self.switch_datatable:tag('span'):wikitext('Default version: '..self.default_version) end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-version', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..mw.title.getCurrentTitle().fullText..'#'..self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {} for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions <= 1 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox f75f549e4c089e89f7d5a31b686c0a9e18b5c83b Module:Infobox/doc 828 504 1490 936 2024-03-26T16:54:33Z Gau Cho 5 wikitext text/x-wiki {{documentation}} {{ToC|right}} ==Creating a template step-by-step== ===Import Module:Infobox and Module:Param Parse=== <syntaxhighlight lang="lua"> local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') </syntaxhighlight> ===Unpack the frame arguments from the Template=== <syntaxhighlight lang="lua"> function p.main(frame) local args = frame:getParent().args ... </syntaxhighlight> ===Setup the Module config settings=== <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', } </syntaxhighlight> ===Map your arguments to parsing functions=== {{Main|Module:Param Parse}} Use the functions in [[Module:Param Parse]] to validate and format the data. <syntaxhighlight lang="lua"> local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Scenery missing Image'}, {name = 'examine', func = parse.has_content}, {name = 'episode', func = parse.episode, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Scenery missing Episode'}, ... } </syntaxhighlight> ===Define an Infobox object=== {{Main|Module:Infobox#new}} <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ===Create your table=== {{Main|Module:Infobox#create}} <syntaxhighlight lang="lua"> infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } :add_row{ {tag='td', content=Infobox.param('image'), colspan='2'}, } :pad(2) :add_row{ {tag='td', content='[[Examine]]'}, {tag='td', content=Infobox.param('examine')}, } :add_row{ {tag='td', content='[[Episode]]'}, {tag='td', content=Infobox.param('episode')}, } ... </syntaxhighlight> ===You're done!=== <syntaxhighlight lang="lua"> return infobox end </syntaxhighlight> ==Functions== === Referring to params === Each parameter can have a different value for each version. In addition, there are 3 different representations of each value. Therefore, a parameter must be accessed via one of the 3 helper functions: {| class="wikitable" ! helper function ! example ! explanation |- | Infobox.raw_param(name) | "1000" | Raw value as passed by the Template |- | Infobox.param(name) | "1,000" | Value formatted for display in the Infobox |- | Infobox.smw_param(name) | 1000 | Value formatted to be saved as an SMW property |} === Infobox.new(config, params, args) === Creates a new infobox. Automatically parses the arguments, creates SMW subobjects and adds categories. <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ==== config ==== There are only 2 parameters for config <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', -- mandatory unique identifier for css max_buttons = 6, -- optional, defaults to 6, max number of switch buttons before using a dropdown list instead } </syntaxhighlight> ==== params ==== A list of parameters to be processed by the Infobox module <syntaxhighlight lang="lua"> local params = { { name = <param>, func = <func>, ... }, ... } </syntaxhighlight> {| class="wikitable" ! key ! value |- | name | parameter name as used in the Template |- | func | A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended. If func is a function, will call func(Infobox.raw_param(name)): <syntaxhighlight lang="lua"> {name = <param>, func = <func>, ... }, </syntaxhighlight> If func is a table, it takes the following parameters: <syntaxhighlight lang="lua"> {name = <param>, func = { name = <func>, params = <func_params>}, ... }, </syntaxhighlight> {| class="wikitable" | name | function in [[Module:Param Parse]] |- | params | a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name) |} |- | empty (optional) | text to display in the infobox if func returns nil; defaults to "? (edit)" |- | category_never (optional) | category to add if func returns nil for all versions |- | category_partial (optional) | ategory to add if func returns nil for some versions, but a value for other versions |- | category_incomplete (optional) | category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) |- | category_complete (optional) | category to add if func returns a value for all versions |- | smw_property (optional) | if this string is defined, the parameter will be saved into SMW |- | smw_func (optional) | function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |} ==== args ==== Arguments passed via the Template <syntaxhighlight lang="lua"> local args = frame:getParent().args </syntaxhighlight> === infobox:is_param_defined(param) === Used to conditionally display a line in the infobox <syntaxhighlight lang="lua"> infobox:add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } if infobox:is_param_defined(Infobox.param('owner')) > 0 then infobox:add_row{ {tag='td', content='[[Owner]]'}, {tag='td', content=Infobox.param('owner')}, } end </syntaxhighlight> {| class="wikitable" | param | a parameter referenced via Infobox.raw_param(name), Infobox.param(name) or Infobox.smw_param(name) |- | Returns | 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions |} === Infobox:add_row(...) === Adds a row to the infobox table. Parameter should be a table of cells: <syntaxhighlight lang="lua"> infobox:add_row{ {tag='td', content='[[Cell1]]', ...}, {tag='td', content=Infobox.param('param'), ...}, {tag='td', content='[[Cell3]]', ...}, ... addClass = 'row-class' } </syntaxhighlight> Each cell should have a set of key-values, of which only the tag and content are mandatory: {| class="wikitable" ! key ! value |- | tag | 'td' or 'th' |- | content | a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) |- | attr (optional) | a table of attributes to add to the cell mw.html:attr({ arg1 = '1', ... }) |- | css (optional) | a table of css to add to the cell mw.html:css({ arg1 = '1', ... }) |- | class (optional) | a string with a class to add, or a table of classes to add. '''infobox-subheader''' is commonly used. mw.html:addClass(...) |- | rowspan (optional) | Set the cell rowspan mw.html:attr('rowspan',arg) |- | rowspan (optional) | Set the cell colspan mw.html:attr('colspan',arg) |- | title (optional) | Set the cell title mw.html:attr('title',arg) |} === Infobox:pad(colspan, class) === Adds a blank row of padding spanning the given number of columns. Will always add the class infobox-padding, but can optionally add another class: <syntaxhighlight lang="lua"> infobox:pad("10", class=<class>) </syntaxhighlight> === Infobox:addClass(class) === Adds a class to the entire table <syntaxhighlight lang="lua"> infobox:addClass(class) </syntaxhighlight> e503d0d4b1f8d28a7f479298ff4f3665d6a0e06f 1493 1490 2024-03-26T17:19:50Z Gau Cho 5 Typo wikitext text/x-wiki {{documentation}} {{ToC|right}} ==Creating a template step-by-step== ===Import Module:Infobox and Module:Param Parse=== <syntaxhighlight lang="lua"> local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') </syntaxhighlight> ===Unpack the frame arguments from the Template=== <syntaxhighlight lang="lua"> function p.main(frame) local args = frame:getParent().args ... </syntaxhighlight> ===Setup the Module config settings=== <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', } </syntaxhighlight> ===Map your arguments to parsing functions=== {{Main|Module:Param Parse}} Use the functions in [[Module:Param Parse]] to validate and format the data. <syntaxhighlight lang="lua"> local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Scenery missing Image'}, {name = 'examine', func = parse.has_content}, {name = 'episode', func = parse.episode, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Scenery missing Episode'}, ... } </syntaxhighlight> ===Define an Infobox object=== {{Main|Module:Infobox#new}} <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ===Create your table=== {{Main|Module:Infobox#create}} <syntaxhighlight lang="lua"> infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } :add_row{ {tag='td', content=Infobox.param('image'), colspan='2'}, } :pad(2) :add_row{ {tag='td', content='[[Examine]]'}, {tag='td', content=Infobox.param('examine')}, } :add_row{ {tag='td', content='[[Episode]]'}, {tag='td', content=Infobox.param('episode')}, } ... </syntaxhighlight> ===You're done!=== <syntaxhighlight lang="lua"> return infobox end </syntaxhighlight> ==Functions== === Referring to params === Each parameter can have a different value for each version. In addition, there are 3 different representations of each value. Therefore, a parameter must be accessed via one of the 3 helper functions: {| class="wikitable" ! helper function ! example ! explanation |- | Infobox.raw_param(name) | "1000" | Raw value as passed by the Template |- | Infobox.param(name) | "1,000" | Value formatted for display in the Infobox |- | Infobox.smw_param(name) | 1000 | Value formatted to be saved as an SMW property |} === Infobox.new(config, params, args) === Creates a new infobox. Automatically parses the arguments, creates SMW subobjects and adds categories. <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ==== config ==== There are only 2 parameters for config <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', -- mandatory unique identifier for css max_buttons = 6, -- optional, defaults to 6, max number of switch buttons before using a dropdown list instead } </syntaxhighlight> ==== params ==== A list of parameters to be processed by the Infobox module <syntaxhighlight lang="lua"> local params = { { name = <param>, func = <func>, ... }, ... } </syntaxhighlight> {| class="wikitable" ! key ! value |- | name | parameter name as used in the Template |- | func | A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended. If func is a function, will call func(Infobox.raw_param(name)): <syntaxhighlight lang="lua"> {name = <param>, func = <func>, ... }, </syntaxhighlight> If func is a table, it takes the following parameters: <syntaxhighlight lang="lua"> {name = <param>, func = { name = <func>, params = <func_params>}, ... }, </syntaxhighlight> {| class="wikitable" | name | function in [[Module:Param Parse]] |- | params | a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name) |} |- | empty (optional) | text to display in the infobox if func returns nil; defaults to "? (edit)" |- | category_never (optional) | category to add if func returns nil for all versions |- | category_partial (optional) | category to add if func returns nil for some versions, but a value for other versions |- | category_incomplete (optional) | category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) |- | category_complete (optional) | category to add if func returns a value for all versions |- | smw_property (optional) | if this string is defined, the parameter will be saved into SMW |- | smw_func (optional) | function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |} ==== args ==== Arguments passed via the Template <syntaxhighlight lang="lua"> local args = frame:getParent().args </syntaxhighlight> === infobox:is_param_defined(param) === Used to conditionally display a line in the infobox <syntaxhighlight lang="lua"> infobox:add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } if infobox:is_param_defined(Infobox.param('owner')) > 0 then infobox:add_row{ {tag='td', content='[[Owner]]'}, {tag='td', content=Infobox.param('owner')}, } end </syntaxhighlight> {| class="wikitable" | param | a parameter referenced via Infobox.raw_param(name), Infobox.param(name) or Infobox.smw_param(name) |- | Returns | 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions |} === Infobox:add_row(...) === Adds a row to the infobox table. Parameter should be a table of cells: <syntaxhighlight lang="lua"> infobox:add_row{ {tag='td', content='[[Cell1]]', ...}, {tag='td', content=Infobox.param('param'), ...}, {tag='td', content='[[Cell3]]', ...}, ... addClass = 'row-class' } </syntaxhighlight> Each cell should have a set of key-values, of which only the tag and content are mandatory: {| class="wikitable" ! key ! value |- | tag | 'td' or 'th' |- | content | a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) |- | attr (optional) | a table of attributes to add to the cell mw.html:attr({ arg1 = '1', ... }) |- | css (optional) | a table of css to add to the cell mw.html:css({ arg1 = '1', ... }) |- | class (optional) | a string with a class to add, or a table of classes to add. '''infobox-subheader''' is commonly used. mw.html:addClass(...) |- | rowspan (optional) | Set the cell rowspan mw.html:attr('rowspan',arg) |- | rowspan (optional) | Set the cell colspan mw.html:attr('colspan',arg) |- | title (optional) | Set the cell title mw.html:attr('title',arg) |} === Infobox:pad(colspan, class) === Adds a blank row of padding spanning the given number of columns. Will always add the class infobox-padding, but can optionally add another class: <syntaxhighlight lang="lua"> infobox:pad("10", class=<class>) </syntaxhighlight> === Infobox:addClass(class) === Adds a class to the entire table <syntaxhighlight lang="lua"> infobox:addClass(class) </syntaxhighlight> 0f49b28ccd1dfa6e5d9b28d01a1367497ebb08b2 1502 1493 2024-03-26T17:51:36Z Gau Cho 5 add local p = {} wikitext text/x-wiki {{documentation}} {{ToC|right}} ==Creating a template step-by-step== ===Import Module:Infobox and Module:Param Parse=== <syntaxhighlight lang="lua"> local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') </syntaxhighlight> ===Unpack the frame arguments from the Template=== <syntaxhighlight lang="lua"> local p = {} function p.main(frame) local args = frame:getParent().args ... </syntaxhighlight> ===Setup the Module config settings=== <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', } </syntaxhighlight> ===Map your arguments to parsing functions=== {{Main|Module:Param Parse}} Use the functions in [[Module:Param Parse]] to validate and format the data. <syntaxhighlight lang="lua"> local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Scenery missing Image'}, {name = 'examine', func = parse.has_content}, {name = 'episode', func = parse.episode, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Scenery missing Episode'}, ... } </syntaxhighlight> ===Define an Infobox object=== {{Main|Module:Infobox#new}} <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ===Create your table=== {{Main|Module:Infobox#create}} <syntaxhighlight lang="lua"> infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } :add_row{ {tag='td', content=Infobox.param('image'), colspan='2'}, } :pad(2) :add_row{ {tag='td', content='[[Examine]]'}, {tag='td', content=Infobox.param('examine')}, } :add_row{ {tag='td', content='[[Episode]]'}, {tag='td', content=Infobox.param('episode')}, } ... </syntaxhighlight> ===You're done!=== <syntaxhighlight lang="lua"> return infobox end return p </syntaxhighlight> ==Functions== === Referring to params === Each parameter can have a different value for each version. In addition, there are 3 different representations of each value. Therefore, a parameter must be accessed via one of the 3 helper functions: {| class="wikitable" ! helper function ! example ! explanation |- | Infobox.raw_param(name) | "1000" | Raw value as passed by the Template |- | Infobox.param(name) | "1,000" | Value formatted for display in the Infobox |- | Infobox.smw_param(name) | 1000 | Value formatted to be saved as an SMW property |} === Infobox.new(config, params, args) === Creates a new infobox. Automatically parses the arguments, creates SMW subobjects and adds categories. <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ==== config ==== There are only 2 parameters for config <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', -- mandatory unique identifier for css max_buttons = 6, -- optional, defaults to 6, max number of switch buttons before using a dropdown list instead } </syntaxhighlight> ==== params ==== A list of parameters to be processed by the Infobox module <syntaxhighlight lang="lua"> local params = { { name = <param>, func = <func>, ... }, ... } </syntaxhighlight> {| class="wikitable" ! key ! value |- | name | parameter name as used in the Template |- | func | A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended. If func is a function, will call func(Infobox.raw_param(name)): <syntaxhighlight lang="lua"> {name = <param>, func = <func>, ... }, </syntaxhighlight> If func is a table, it takes the following parameters: <syntaxhighlight lang="lua"> {name = <param>, func = { name = <func>, params = <func_params>}, ... }, </syntaxhighlight> {| class="wikitable" | name | function in [[Module:Param Parse]] |- | params | a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name) |} |- | empty (optional) | text to display in the infobox if func returns nil; defaults to "? (edit)" |- | category_never (optional) | category to add if func returns nil for all versions |- | category_partial (optional) | category to add if func returns nil for some versions, but a value for other versions |- | category_incomplete (optional) | category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) |- | category_complete (optional) | category to add if func returns a value for all versions |- | smw_property (optional) | if this string is defined, the parameter will be saved into SMW |- | smw_func (optional) | function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |} ==== args ==== Arguments passed via the Template <syntaxhighlight lang="lua"> local args = frame:getParent().args </syntaxhighlight> === infobox:is_param_defined(param) === Used to conditionally display a line in the infobox <syntaxhighlight lang="lua"> infobox:add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } if infobox:is_param_defined(Infobox.param('owner')) > 0 then infobox:add_row{ {tag='td', content='[[Owner]]'}, {tag='td', content=Infobox.param('owner')}, } end </syntaxhighlight> {| class="wikitable" | param | a parameter referenced via Infobox.raw_param(name), Infobox.param(name) or Infobox.smw_param(name) |- | Returns | 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions |} === Infobox:add_row(...) === Adds a row to the infobox table. Parameter should be a table of cells: <syntaxhighlight lang="lua"> infobox:add_row{ {tag='td', content='[[Cell1]]', ...}, {tag='td', content=Infobox.param('param'), ...}, {tag='td', content='[[Cell3]]', ...}, ... addClass = 'row-class' } </syntaxhighlight> Each cell should have a set of key-values, of which only the tag and content are mandatory: {| class="wikitable" ! key ! value |- | tag | 'td' or 'th' |- | content | a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) |- | attr (optional) | a table of attributes to add to the cell mw.html:attr({ arg1 = '1', ... }) |- | css (optional) | a table of css to add to the cell mw.html:css({ arg1 = '1', ... }) |- | class (optional) | a string with a class to add, or a table of classes to add. '''infobox-subheader''' is commonly used. mw.html:addClass(...) |- | rowspan (optional) | Set the cell rowspan mw.html:attr('rowspan',arg) |- | rowspan (optional) | Set the cell colspan mw.html:attr('colspan',arg) |- | title (optional) | Set the cell title mw.html:attr('title',arg) |} === Infobox:pad(colspan, class) === Adds a blank row of padding spanning the given number of columns. Will always add the class infobox-padding, but can optionally add another class: <syntaxhighlight lang="lua"> infobox:pad("10", class=<class>) </syntaxhighlight> === Infobox:addClass(class) === Adds a class to the entire table <syntaxhighlight lang="lua"> infobox:addClass(class) </syntaxhighlight> 6db311226eedba38b1f6c27fabfe858d5539f21f Firetoad 0 186 1491 1339 2024-03-26T17:18:05Z Logg 52 Firetoads are free for all players (since they are in Hopeport) wikitext text/x-wiki {{Unofficial name}} {{Infobox NPC |name = Firetoad |image = [[File:Firetoad.png]] |release = Q3 2024 |episode = Hopeport |premium = No |profession = }} '''Firetoads''' are monsters found in caves. The Hopeport town guard fights firetoads regularly, to the point where it might at first glance be mistaken that that is all they do.{{CiteVideo|author=FenResearch|title=Brighter Shores Trailer|url=https://www.youtube.com/watch?v=7lolGQaorPo|timestamp=00:01 - 00:09|date=13 May, 2024|site=Youtube|name=Original Brighter Shores Trailer}} Being that players first enter the game as members of the Hopeport town guard, it is anticipated that fighting firetoads will be one of the most common ways that players initially improve their combat abilities. As their name implies, firetoads attack with fire, which is a long-range attack with a constant speed, independent of distance to target. Firetoads can use their fire attack every 2.5 seconds. ==Gallery== <gallery> Firetoads Trailer.jpg | Firetoads as shown in the original trailer for Brighter Shores. </gallery> ==Trivia== * Firetoads were the first named monsters to be presented to players, in the original trailer for the game.<ref name="Original Brighter Shores Trailer"/> ==References== {{reflist}} [[Category:Monsters]] 6eb1e10a8ebfd7973b2395e46f7f33d32d3ef2cc Module:Sandbox 828 774 1492 2024-03-26T17:19:21Z BlackHawk 10 Created page with "local p = {} function p.main() return "Hello world!" end return p" Scribunto text/plain local p = {} function p.main() return "Hello world!" end return p e970862d67384d892b32e61b28b689863efc8bba Module:Sandbox/doc 828 775 1494 2024-03-26T17:20:34Z BlackHawk 10 Created page with "{{Documentation|isUsed=true}} '''This is the general purpose sandbox for lua modules.''' It can be used to test changes to existing modules, prototype new modules, experimenting with lua features, or for any other purpose. Much like [[Brighter Shores:Sandbox]], this page is free to edit for all - if you want to use code personally or for long periods without others editing it, make a personal module sandbox at <code>Module:Sandbox/User:{{USERNAME}}</code> or subpages of..." wikitext text/x-wiki {{Documentation|isUsed=true}} '''This is the general purpose sandbox for lua modules.''' It can be used to test changes to existing modules, prototype new modules, experimenting with lua features, or for any other purpose. Much like [[Brighter Shores:Sandbox]], this page is free to edit for all - if you want to use code personally or for long periods without others editing it, make a personal module sandbox at <code>Module:Sandbox/User:{{USERNAME}}</code> or subpages of that. Invocations of this sandbox and personal sandboxes should be kept in userspace. If the module is intended for use in other namespaces, it should be moved out of the sandbox into a normal module and template. See [[Special:PrefixIndex/Module:Sandbox/]] for a list of all user sandboxes. b338f48cb30d2f0d20c99e1dddf7737651ca5ac7 Template:Sandbox 10 776 1495 2024-03-26T17:21:38Z BlackHawk 10 Created page with "<includeonly>{{#invoke:Sandbox|main}}</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>{{#invoke:Sandbox|main}}</includeonly><noinclude>{{/doc}}</noinclude> b0eb3417fe9fade11672134533777e2098f4ea9f Template:Sandbox/doc 10 777 1496 2024-03-26T17:22:12Z BlackHawk 10 Created page with "{{Documentation}} This is a sandbox template that you can use to test template transclusion and [[Brighter Shores:Template policy|template documentation]]. <span style="display:none">{{Sandbox}}</span> <includeonly>[[Category:Transclusion templates]]</includeonly>" wikitext text/x-wiki {{Documentation}} This is a sandbox template that you can use to test template transclusion and [[Brighter Shores:Template policy|template documentation]]. <span style="display:none">{{Sandbox}}</span> <includeonly>[[Category:Transclusion templates]]</includeonly> 47bf7162f37ab74e9804765f054d2b83db49c66c Module:Sandbox/User:BlackHawk/Infobox Profession 828 779 1498 2024-03-26T17:31:55Z BlackHawk 10 Created page with "local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Scenery', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'p..." Scribunto text/plain local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Scenery', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } :add_row{ {tag='td', content=Infobox.param('image'), colspan='2'}, } :pad(2) :add_row{ {tag='td', content='Release'}, {tag='td', content=Infobox.param('release')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } return infobox end bea463703e9a67a803e43993a754b54182ef1e3e 1499 1498 2024-03-26T17:32:03Z BlackHawk 10 Scribunto text/plain local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } :add_row{ {tag='td', content=Infobox.param('image'), colspan='2'}, } :pad(2) :add_row{ {tag='td', content='Release'}, {tag='td', content=Infobox.param('release')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } return infobox end a800892bbaba3fe3a95c6943d01893b893a897d7 1501 1499 2024-03-26T17:39:55Z BlackHawk 10 Scribunto text/plain -- Module for [[Template:Infobox Profession]] -- Test changes using [[Module:Infobox Profession/sandbox]] [[Template:Infobox Profession/sandbox]] local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } :add_row{ {tag='td', content=Infobox.param('image'), colspan='2'}, } :pad(2) :add_row{ {tag='td', content='Release'}, {tag='td', content=Infobox.param('release')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } return infobox end return p de291276231409416ec7cdacffa0a1312dd123b8 User:BlackHawk/Sandbox 2 780 1500 2024-03-26T17:33:29Z BlackHawk 10 Created page with "{{User:BlackHawk/Infobox Profession |name = Fisher |image = [[File:Profession fisher.png|50px]] |release = |premium = }}" wikitext text/x-wiki {{User:BlackHawk/Infobox Profession |name = Fisher |image = [[File:Profession fisher.png|50px]] |release = |premium = }} 66effedcbcf3ff92fc258a76b9afbf640b8cce84 Module:Infobox 828 102 1504 1503 2024-03-26T17:55:05Z Gau Cho 5 switch_datatable defaults to '' instead of nil Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - check for a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') self.switch_datatable:tag('span'):wikitext('Versions: '..self.versions) self.switch_datatable:tag('span'):wikitext('Default version: '..self.default_version) end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-version', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..mw.title.getCurrentTitle().fullText..'#'..self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {} for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions <= 1 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox c6399b9b7849b45a0542429a62080ea8bb9e60d7 Module:Param Parse 828 673 1505 1234 2024-03-26T18:11:05Z Gau Cho 5 Cleaning up module, and adding episode Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local param = {} -- Standardized "has content" function function param.has_content(arg, default) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized image function function param.image(img) if img and img:find('%S') then return img end return nil end function param.image_smw(img) return string.match(img, "File:.-%.png") end -- Standardized numbers function param.numbers(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function param.episode(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]]' end return nil end function param.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end return param -- </nowiki> dc5d0522d48437e8cf12c644423f43c8c933e6b4 1506 1505 2024-03-26T18:12:22Z Gau Cho 5 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local param = {} -- Standardized "has content" function function param.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized image function function param.image(img) if img and img:find('%S') then return img end return nil end function param.image_smw(img) return string.match(img, "File:.-%.png") end -- Standardized numbers function param.numbers(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function param.episode(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]]' end return nil end function param.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end return param -- </nowiki> 376c007a405a85b6801800e77c9894624d8ecd33 1507 1506 2024-03-26T18:16:09Z Gau Cho 5 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local param = {} -- Standardized "has content" function function param.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized image function function param.image(img) if img and img:find('%S') then return img end return nil end function param.image_smw(img) return string.match(img, "File:.-%.png") end -- Standardized numbers function param.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function param.episode(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]]' end return nil end function param.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end return param -- </nowiki> b3327d037b2270e3c238aaa549fcfeb89dc64427 1508 1507 2024-03-26T18:17:39Z Gau Cho 5 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local param = {} -- Standardized "has content" function function param.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized image function function param.image(img) if img and img:find('%S') then return img end return nil end function param.image_smw(img) return string.match(img, "File:.-%.png") end -- Standardized numbers function param.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function param.episode(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] '..'[['..episode..']]' end return nil end function param.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end return param -- </nowiki> a98c57384311d81bb1be23411be4b35cbc90834d 1509 1508 2024-03-26T18:18:19Z Gau Cho 5 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local param = {} -- Standardized "has content" function function param.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized image function function param.image(img) if img and img:find('%S') then return img end return nil end function param.image_smw(img) return string.match(img, "File:.-%.png") end -- Standardized numbers function param.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function param.episode(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function param.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end return param -- </nowiki> 35bb5f7ac47135b2ba7b8f379c4fd6bd0c1b725c 1511 1509 2024-03-26T18:26:56Z Gau Cho 5 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized image function function parse.image(img) if img and img:find('%S') then return img end return nil end function parse.image_smw(img) return string.match(img, "File:.-%.png") end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end return parse -- </nowiki> e1b877819728913960e0d7138fb7e8d060d1de31 Module:Param Parse/doc 828 781 1510 2024-03-26T18:18:53Z Gau Cho 5 Created page with "These functions are used to validate and format information passed into an Infobox. See [[Module:Infobox]] for details and instructions on creating an Infobox. If the information is missing or not valid, the functions here should return nil. Here is a summary of all the functions: {| class="wikitable" ! function name ! explanation |- | has_content(arg) | Returns arg if any non-whitespace character is found in the string. |- | image(img) | Returns img if any non-whitespa..." wikitext text/x-wiki These functions are used to validate and format information passed into an Infobox. See [[Module:Infobox]] for details and instructions on creating an Infobox. If the information is missing or not valid, the functions here should return nil. Here is a summary of all the functions: {| class="wikitable" ! function name ! explanation |- | has_content(arg) | Returns arg if any non-whitespace character is found in the string. |- | image(img) | Returns img if any non-whitespace character is found in the string. |- | image_smw(img) | Searches for and returns "File:___.png" |- | number(num) | Removes any commas and parses the string as a number |- | episode(episode) | Returns a plink of the episode, e.g. [[File:Hopeport episode icon.png|18px]] [[Hopeport]]' |- | episode_smw(episode) | Returns the name of the episode if valid |} 0246c3a35021abec4d282574cd8c7c5d902dd830 1515 1510 2024-03-26T19:16:15Z Gau Cho 5 Add {{documentation}} wikitext text/x-wiki {{documentation}} These functions are used to validate and format information passed into an Infobox. See [[Module:Infobox]] for details and instructions on creating an Infobox. If the information is missing or not valid, the functions here should return nil. Here is a summary of all the functions: {| class="wikitable" ! function name ! explanation |- | has_content(arg) | Returns arg if any non-whitespace character is found in the string. |- | image(img) | Returns img if any non-whitespace character is found in the string. |- | image_smw(img) | Searches for and returns "File:___.png" |- | number(num) | Removes any commas and parses the string as a number |- | episode(episode) | Returns a plink of the episode, e.g. [[File:Hopeport episode icon.png|18px]] [[Hopeport]] |- | episode_smw(episode) | Returns the name of the episode if valid |} 6e273292387f169683ee3aed6a801799796bfa11 Sandbox 0 782 1512 2024-03-26T18:29:38Z Gau Cho 5 Mainspace SMW test wikitext text/x-wiki {{User:BlackHawk/Infobox Profession |version1 = Normal |version2 = Uber |name = Fisher |name2 = UberFisher |image = [[File:Profession fisher.png|50px]] |release = |premium = }} fe19a17c6d5f70a259e2bc7d50ae16ce9a1c748d 1513 1512 2024-03-26T18:32:47Z Gau Cho 5 #REDIRECT[[Brighter Shores:Sandbox]] wikitext text/x-wiki #REDIRECT[[Brighter Shores:Sandbox]] bbc83d4d6875c20c4b9c1b35e7ab2454c17ef6c6 User:Gau Cho 2 104 1514 269 2024-03-26T18:35:37Z Gau Cho 5 wikitext text/x-wiki {{User:BlackHawk/Infobox Profession |version1 = Sad |version2 = Normal |version3 = Uber |name1 = Sad Fisher |name2 = Fisher |name3 = UberFisher |image = [[File:Profession fisher.png|50px]] |release = |premium = }} 619152c4b421a0232388793a1ef275e0974f73bd User:Gau Cho/2 2 783 1516 2024-03-26T22:44:59Z Gau Cho 5 Created page with "{{User:BlackHawk/Infobox Profession |version1 = Sad |version2 = Normal |version3 = Uber |version4 = Uber2 |version5 = Uber3 |version6 = Uber4 |version7 = Uber5 |name1 = Sad Fisher |name2 = Fisher |name3 = UberFisher |name = NeglectedFisher |image = [[File:Profession fisher.png|50px]] |release = |premium = }}" wikitext text/x-wiki {{User:BlackHawk/Infobox Profession |version1 = Sad |version2 = Normal |version3 = Uber |version4 = Uber2 |version5 = Uber3 |version6 = Uber4 |version7 = Uber5 |name1 = Sad Fisher |name2 = Fisher |name3 = UberFisher |name = NeglectedFisher |image = [[File:Profession fisher.png|50px]] |release = |premium = }} 569749c6f486e6e1eabc00aa3fdaacff72cb6977 Module:Sandbox/User:BlackHawk/Infobox Profession 828 779 1517 1501 2024-03-26T22:48:27Z Gau Cho 5 Sorry BlackHawk, destroying your module for science Scribunto text/plain -- Module for [[Template:Infobox Profession]] -- Test changes using [[Module:Infobox Profession/sandbox]] [[Template:Infobox Profession/sandbox]] local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } :add_row{ {tag='td', content=Infobox.param('image'), colspan='2'}, } :pad(2) :add_row{ {tag='td', content='Release'}, {tag='td', content=Infobox.param('release')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ addClass = 'infobox.subheader', {tag='td', content='ROW CLASS for some reason'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='th', content='TH for some reason'}, {tag='th', content=Infobox.param('premium')}, } return infobox end return p ca8bd037f59f3ba580b69170280499134811db88 1518 1517 2024-03-26T22:49:44Z Gau Cho 5 Scribunto text/plain -- Module for [[Template:Infobox Profession]] -- Test changes using [[Module:Infobox Profession/sandbox]] [[Template:Infobox Profession/sandbox]] local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } :add_row{ {tag='td', content=Infobox.param('image'), colspan='2'}, } :pad(2) :add_row{ {tag='td', content='Release'}, {tag='td', content=Infobox.param('release')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ addClass = 'infobox.subheader', {tag='td', content='ROW CLASS SUBHEADER', colspan='2'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='th', content='TH for some reason'}, {tag='th', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } return infobox end return p 4f6d10636295764a5c63b1840917c2bdab75fdb1 1519 1518 2024-03-26T22:51:21Z Gau Cho 5 Scribunto text/plain -- Module for [[Template:Infobox Profession]] -- Test changes using [[Module:Infobox Profession/sandbox]] [[Template:Infobox Profession/sandbox]] local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } :add_row{ {tag='td', content=Infobox.param('image'), colspan='2'}, } :pad(2) :add_row{ {tag='td', content='Release'}, {tag='td', content=Infobox.param('release')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ addClass = 'infobox.subheader', {tag='td', content='ROW CLASS SUBHEADER', colspan='2'}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='th', content='TH for some reason'}, {tag='th', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } return infobox end return p 6735caa992d2276d9001d64ed0b3a8e36ddc9802 1532 1519 2024-03-27T00:15:37Z Merds 25 Scribunto text/plain -- Module for [[Template:Infobox Profession]] -- Test changes using [[Module:Infobox Profession/sandbox]] [[Template:Infobox Profession/sandbox]] local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox.image', colspan='2'}, } :pad(2) :add_row{ {tag='td', content='Release'}, {tag='td', content=Infobox.param('release')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ addClass = 'infobox.subheader', {tag='td', content='ROW CLASS SUBHEADER', colspan='2'}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='th', content='TH for some reason'}, {tag='th', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } :add_row{ {tag='td', content='[[Premium Pass|Premium]]'}, {tag='td', content=Infobox.param('premium')}, } return infobox end return p 67699896a3d64bfbe8fcfd26c92200c7f8a38c9d 1535 1532 2024-03-27T00:26:34Z Merds 25 Scribunto text/plain -- Module for [[Template:Infobox Profession]] -- Test changes using [[Module:Infobox Profession/sandbox]] [[Template:Infobox Profession/sandbox]] local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox.image', colspan='2'}, } :pad(2) :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ addClass = 'infobox.subheader', {tag='td', content='ROW CLASS SUBHEADER', colspan='2'}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } return infobox end return p c61098eedb79ae64a52449e51f0828872bce53bd 1536 1535 2024-03-27T00:27:33Z Merds 25 Scribunto text/plain -- Module for [[Template:Infobox Profession]] -- Test changes using [[Module:Infobox Profession/sandbox]] [[Template:Infobox Profession/sandbox]] local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox.image', colspan='20'}, } :pad(2) :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ addClass = 'infobox.subheader', {tag='td', content='ROW CLASS SUBHEADER', colspan='20'}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } return infobox end return p 05942fa3df30235d2f21283777d2575010f505c8 1537 1536 2024-03-27T00:27:55Z Merds 25 Scribunto text/plain -- Module for [[Template:Infobox Profession]] -- Test changes using [[Module:Infobox Profession/sandbox]] [[Template:Infobox Profession/sandbox]] local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox.image', colspan='20'}, } :pad(20) :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ addClass = 'infobox.subheader', {tag='td', content='ROW CLASS SUBHEADER', colspan='20'}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } return infobox end return p c3a5ef8b49b190fe3e3d4301c544c2e5d18d75fe 1538 1537 2024-03-27T00:30:42Z Merds 25 Scribunto text/plain -- Module for [[Template:Infobox Profession]] -- Test changes using [[Module:Infobox Profession/sandbox]] [[Template:Infobox Profession/sandbox]] local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-subheader', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :pad(20) :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ addClass = 'infobox.subheader', {tag='td', content='ROW CLASS SUBHEADER', colspan='20'}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } return infobox end return p 8397dc1b63dc30acbb4abd02ba98f53d2b44e895 1541 1538 2024-03-27T00:41:41Z Merds 25 Scribunto text/plain -- Module for [[Template:Infobox Profession]] -- Test changes using [[Module:Infobox Profession/sandbox]] [[Template:Infobox Profession/sandbox]] local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :pad(20) :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ addClass = 'infobox-subheader', {tag='td', content='ROW CLASS SUBHEADER', colspan='20'}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } return infobox end return p 3ad7e196105ec0718735d5019c2f275e662c8367 User:Merds/common.css 2 784 1520 2024-03-26T23:24:22Z Merds 25 Created page with "/*<syntaxhighlight lang="css">*/ @import url("/w/User:Merds/CSS/Infobox.css?action=raw&ctype=text/css"); /*</syntaxhighlight>*/" css text/css /*<syntaxhighlight lang="css">*/ @import url("/w/User:Merds/CSS/Infobox.css?action=raw&ctype=text/css"); /*</syntaxhighlight>*/ 74d47220e0f295c70f705ce0da4ed69d8f759c09 1523 1520 2024-03-26T23:28:52Z Merds 25 Merds moved page [[User:Merds/Common.css]] to [[User:Merds/common.css]] without leaving a redirect css text/css /*<syntaxhighlight lang="css">*/ @import url("/w/User:Merds/CSS/Infobox.css?action=raw&ctype=text/css"); /*</syntaxhighlight>*/ 74d47220e0f295c70f705ce0da4ed69d8f759c09 User:Merds/CSS/Infobox.css 2 785 1521 2024-03-26T23:24:30Z Merds 25 Created page with "a" css text/css a 86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 1522 1521 2024-03-26T23:28:14Z Merds 25 test css text/css /*<syntaxhighlight lang="css">*/ .infobox { background: red; } /*</syntaxhighlight>*/ 91a147114399de68cc795a5a5c31fb5ba70b5326 1524 1522 2024-03-26T23:30:46Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } /*</syntaxhighlight>*/ 0a49686263adb74e27bf4c175c3bb9abd93d95c1 1525 1524 2024-03-26T23:37:44Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox tbody { border: 1px solid #e6d7c6; } .infobox * > tr:nth-child(odd) { background: #e5d7c4; } .infobox * > tr:nth-child(even) { background: #fff8ee; } .infobox-image { text-align: center; } /*</syntaxhighlight>*/ b7997e5497ee93e099de0b86e373d85bf8ad6a7b 1526 1525 2024-03-26T23:38:35Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox tbody { border: 1px solid #e6d7c6; } .infobox * > tr:nth-child(odd) { background: #e5d7c4; } .infobox * > tr:nth-child(even) { background: #fff8ee; } .infobox-image { text-align: center; } /*</syntaxhighlight>*/ 468a72977446a1a3a21059b3d47e8ebf8435e9bf 1527 1526 2024-03-26T23:42:20Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons span.button { background: #e6d7c6;; padding: 0 5px; font-weight: bold; } .infobox tbody { border: 1px solid #e6d7c6; } .infobox * > tr:nth-child(odd) { background: #e5d7c4; } .infobox * > tr:nth-child(even) { background: #fff8ee; } .infobox-image { text-align: center; } /*</syntaxhighlight>*/ 3045f11f7b3a2d78f0e110b10840191754886846 1528 1527 2024-03-26T23:52:26Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons span.button { background: #e6d7c6;; padding: 0 5px; font-weight: bold; } .infobox tbody { border: 1px solid #e6d7c6; } .infobox tr > td { padding: 0 10px; } .infobox * > tr:nth-child(odd) { background: #e5d7c4; } .infobox * > tr:nth-child(even) { background: #fff8ee; } .infobox-image { text-align: center; } /*</syntaxhighlight>*/ 5499085b909d959dcb0a5c37235af8b4135ebdd3 1529 1528 2024-03-27T00:05:42Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; flex: 1 1 20%; max-width: 20%; } .infobox .infobox-buttons span.button { background: #e6d7c6;; padding: 0 5px; font-weight: bold; } .infobox tbody { border: 1px solid #e6d7c6; } .infobox tr > td { padding: 0 10px; } .infobox * > tr:nth-child(odd) { background: #e5d7c4; } .infobox * > tr:nth-child(even) { background: #fff8ee; } .infobox .infobox-image { text-align: center; } /*</syntaxhighlight>*/ 49f25bd8c14d4befb85d747c43fbdde2bd4f6f19 1530 1529 2024-03-27T00:12:11Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons span.button { background: #e6d7c6;; padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; } .infobox tbody { border: 1px solid #e6d7c6; } .infobox tr > td { padding: 0 10px; } .infobox * > tr:nth-child(odd) { background: #e5d7c4; } .infobox * > tr:nth-child(even) { background: #fff8ee; } .infobox .infobox-image { text-align: center; } /*</syntaxhighlight>*/ cd9c5feb64f2395b5339e22215f0896c1ad333b2 1531 1530 2024-03-27T00:13:22Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons span.button { background: #e6d7c6;; padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; } .infobox tbody { border: 1px solid #e6d7c6; } .infobox tr > td { padding: 0 10px; } .infobox * > tr:nth-child(odd) { background: #e5d7c4; } .infobox * > tr:nth-child(even) { background: #fff8ee; } .infobox .infobox-image { text-align: center; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ b01da4248d42bda1f4377fc39b4a5fc729c8d703 1533 1531 2024-03-27T00:16:48Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: #e6d7c6;; padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; } .infobox tbody { border: 1px solid #e6d7c6; } .infobox tr > td { padding: 0 10px; } .infobox * > tr:nth-child(odd) { background: #e5d7c4; } .infobox * > tr:nth-child(even) { background: #fff8ee; } .infobox .infobox-image { text-align: center; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 8f43b60fc899bfeff5d8f645a86c1c5a0f75500c 1534 1533 2024-03-27T00:19:27Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: #e6d7c6;; padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; } .infobox tbody { border: 1px solid #e6d7c6; } .infobox tr > td { padding: 3px 10px; } .infobox * > tr:nth-child(odd) { background: #e5d7c4; } .infobox * > tr:nth-child(even) { background: #fff8ee; } .infobox .infobox-image { text-align: center; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ cf3217ef7b65cf5ac2976c86949de11974d9f54e 1539 1534 2024-03-27T00:34:58Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: #e6d7c6;; padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; } .infobox tbody { border: 1px solid #e6d7c6; background: #fff8ee; } .infobox .infobox-image { text-align: center; } .infobox tr > td:not(.infobox-padding) { padding: 3px 10px; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid #e7d7c7; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ f19410d8374745373e22fc9cafc833e2592b8060 1540 1539 2024-03-27T00:39:44Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #e7d7c7; --table-body: #fff8ee; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; } .infobox tbody { border: 1px solid var(--table-header); background: var(--table-body); } .infobox .infobox-subheader { background: var(--table-header); } .infobox .infobox-image { text-align: center; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr > td:not(.infobox-padding) { padding: 3px 10px; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-header); } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 6ac113aee2244f06a03ebaba16b31ea9ef5a28ac 1542 1540 2024-03-27T00:42:15Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #e7d7c7; --table-body: #fff8ee; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; } .infobox tbody { border: 1px solid var(--table-header); background: var(--table-body); } .infobox .infobox-header, .infobox .infobox-subheader { background: var(--table-header); } .infobox .infobox-header { font-size: 1.15em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr > td:not(.infobox-padding) { padding: 3px 10px; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-header); } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 29358e3873d85acac67b0118ffea8026932a554e 1543 1542 2024-03-27T00:46:00Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #e7d7c7; --table-body: #fff8ee; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; } .infobox tbody { border: 1px solid var(--table-header); background: var(--table-body); } .infobox .infobox-header, .infobox .infobox-subheader { background: var(--table-header); font-weight: bold; text-align: center; } .infobox .infobox-header { font-size: 1.15em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr > td:not(.infobox-padding) { padding: 3px 10px; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-header); } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 5785cf6add18d78712e190cf4c929a7e80c56745 1544 1543 2024-03-27T00:47:14Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #e7d7c7; --table-body: #fff8ee; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; } .infobox tbody { border: 1px solid var(--table-header); background: var(--table-body); } .infobox .infobox-header, .infobox .infobox-subheader { background: var(--table-header); font-weight: bold; text-align: center; } .infobox .infobox-header { font-size: 1.15em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr > td:not(.infobox-padding) { padding: 3px 10px; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-header); text-align: right; padding: 3px 10px; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 8ffa6b878334e4036f20d9e026436471dc48705c 1545 1544 2024-03-27T00:50:51Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #e7d7c7; --table-body: #fff8ee; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; } .infobox tbody { border: 1px solid var(--table-header); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header, .infobox .infobox-subheader { background: var(--table-header); font-weight: bold; text-align: center; } .infobox .infobox-header { font-size: 1.15em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr > td:not(.infobox-padding) { padding: 3px 10px; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-header); text-align: right; padding: 3px 10px; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 3ff128717c9940ec919552a7e2fe61d1d91b2d48 1546 1545 2024-03-27T00:53:47Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #c1906e; --table-subheader: #e7d7c7; --table-body: #fff8ee; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; } .infobox tbody { border: 1px solid var(--table-subheader); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); font-weight: bold; text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; } .infobox .infobox-header { font-size: 1.15em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr > td:not(.infobox-padding) { padding: 3px 10px; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-dubheader); text-align: right; padding: 3px 10px; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 9fe33b6a7fb7ab21339f074271090176f211580d 1547 1546 2024-03-27T00:54:23Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #c1906e; --table-subheader: #e7d7c7; --table-body: #fff8ee; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; } .infobox tbody { border: 1px solid var(--table-subheader); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); font-weight: bold; text-align: center; color: white; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: white; } .infobox .infobox-header { font-size: 1.15em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr > td:not(.infobox-padding) { padding: 3px 10px; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-dubheader); text-align: right; padding: 3px 10px; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ a8643e57d8b50e77c12179dccb308ac181802d6f 1548 1547 2024-03-27T00:55:54Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #c1906e; --table-subheader: #e7d7c7; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); font-weight: bold; text-align: center; color: white; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: white; } .infobox .infobox-header { font-size: 1.15em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr > td:not(.infobox-padding) { padding: 3px 10px; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-dubheader); text-align: right; padding: 3px 10px; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 27f4128cd3094da1aba4535fe2ea6f3aa21fb422 1549 1548 2024-03-27T00:56:38Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #c1906e; --table-subheader: #e7d7c7; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; color: white; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); font-weight: bold; text-align: center; color: white; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: white; } .infobox .infobox-header { font-size: 1.15em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr > td:not(.infobox-padding) { padding: 3px 10px; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-dubheader); text-align: right; padding: 3px 10px; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 21699868aae2fbb5b6358b1dded6440d0994b79e 1550 1549 2024-03-27T00:56:56Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #c1906e; --table-subheader: #e7d7c7; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: white; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); font-weight: bold; text-align: center; color: white; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: white; } .infobox .infobox-header { font-size: 1.15em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr > td:not(.infobox-padding) { padding: 3px 10px; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-dubheader); text-align: right; padding: 3px 10px; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 02859344f30946ba8ec53d659493389a33ec0351 1551 1550 2024-03-27T00:58:51Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #c1906e; --table-subheader: #e7d7c7; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: white; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); font-weight: bold; text-align: center; color: white; } .infobox .infobox-header { font-size: 1.15em; } .infobox .infobox-image { text-align: center; background: var(--body-main); } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: white; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr > td:not(.infobox-padding) { padding: 3px 10px; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-dubheader); text-align: right; padding: 3px 10px; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 80528c0937ebb5b6e124c9c60519c8f5586b4a3b 1552 1551 2024-03-27T01:01:16Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: white; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); font-weight: bold; text-align: center; color: white; } .infobox .infobox-header { font-size: 1.15em; } .infobox .infobox-image { text-align: center; background: var(--body-main); } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: white; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr > td:not(.infobox-padding) { padding: 3px 10px; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-dubheader); text-align: right; padding: 3px 10px; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 922809f49d0474698285b202a4fc0faacc1cefff 1553 1552 2024-03-27T01:01:35Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: white; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); font-weight: bold; text-align: center; color: white; } .infobox .infobox-header { font-size: 1.15em; } .infobox .infobox-image { text-align: center; background: var(--body-main); } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: white; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr > td:not(.infobox-padding) { padding: 3px 10px; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 3px 10px; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 58b3c750b6a9d4e12fd93773d4e12951302d9c8a Module:Sandbox/User:BlackHawk/Infobox Profession 828 779 1554 1541 2024-03-27T01:06:38Z Merds 25 Scribunto text/plain -- Module for [[Template:Infobox Profession]] -- Test changes using [[Module:Infobox Profession/sandbox]] [[Template:Infobox Profession/sandbox]] local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :pad(20) :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) :add_row{ addClass = 'infobox-subheader', {tag='td', content='ROW CLASS SUBHEADER', colspan='20'}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } return infobox end return p 295d0c67ad448f246bebdce10e2615f7f8948f82 1555 1554 2024-03-27T01:07:14Z Merds 25 Scribunto text/plain -- Module for [[Template:Infobox Profession]] -- Test changes using [[Module:Infobox Profession/sandbox]] [[Template:Infobox Profession/sandbox]] local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) :add_row{ addClass = 'infobox-subheader', {tag='td', content='ROW CLASS SUBHEADER', colspan='20'}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) return infobox end return p febcf15b1fe144926bb9755512a51cb3f53a488c 1556 1555 2024-03-27T01:12:05Z Merds 25 Scribunto text/plain -- Module for [[Template:Infobox Profession]] -- Test changes using [[Module:Infobox Profession/sandbox]] [[Template:Infobox Profession/sandbox]] local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) :add_row{ {tag='td', content='Subheader', class='infobox-header', colspan='20'}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) return infobox end return p 59609463c01f4c6e69fbc1ca62d3e4d2e97c0592 1558 1556 2024-03-27T01:14:51Z Merds 25 Scribunto text/plain -- Module for [[Template:Infobox Profession]] -- Test changes using [[Module:Infobox Profession/sandbox]] [[Template:Infobox Profession/sandbox]] local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) :add_row{ {tag='td', content='Subheader', class='infobox-subheader', colspan='20'}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) return infobox end return p 40997490c94ad88fc6c6fd3d57d8213b37abb1d8 User:Merds/CSS/Infobox.css 2 785 1557 1553 2024-03-27T01:14:09Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: white; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); font-weight: bold; text-align: center; color: white; padding: 0.5em 0; line-height: 1.4em; } .infobox .infobox-header { font-size: 1.15em; } .infobox .infobox-image { text-align: center; background: var(--body-main); } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: white; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 6a8cb8dfe907f2c3fb88db434a5f0f6ee9ac25be 1559 1557 2024-03-27T01:16:34Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: white; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: white; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; background: var(--body-main); } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: white; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 8bdb9892f2b4b2fa8b6a29a56c1c7e9f676c2e70 1560 1559 2024-03-27T01:18:07Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /* variables */ :root { --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: white; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: white; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; background: var(--body-main); } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: white; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } /*Hide*/ .hidden { display: none; } /*</syntaxhighlight>*/ 3470db77aa6dcd5a3ca2631aaad5eaa4c88bb2a7 MediaWiki:Common.less/infobox.less 8 26 1561 35 2024-03-27T01:20:54Z Merds 25 less less :root { --infobox-text-color: var(--text-color); --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } /* Infobox */ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: white; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: white; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; background: var(--body-main); } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: white; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } /*Hide*/ .hidden { display: none; } bfc66c513c7b7f6059c873e7f4fce272f8538235 1562 1561 2024-03-27T01:23:27Z Merds 25 less less :root { --infobox-text-color: var(--text-color); --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } /* Infobox */ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: @color_1; } } tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: @color_1; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox-image { text-align: center; background: var(--body-main); } .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: @color_1; } .infobox-padding { backgound: var(--table-body); } tr td &:not(.infobox-padding) { padding: 0.2em 0.5em; } th &:not(.infobox-header) &:not(.infobox-subheader) &:not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } } .hidden { display: none; } e37584a8a61f0b66b13b5e0f336c21e389057fd8 1566 1562 2024-03-27T01:40:37Z Merds 25 less less :root { --infobox-text-color: var(--text-color); --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } /* Infobox */ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: @color_1; } } tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: @white; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox-image { text-align: center; background: var(--body-main); } .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: @color_1; } .infobox-padding { backgound: var(--table-body); } tr td &:not(.infobox-padding) { padding: 0.2em 0.5em; } th &:not(.infobox-header) &:not(.infobox-subheader) &:not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } } .hidden { display: none; } 53f66028d4748fd5b9643e77441006e73112a788 1567 1566 2024-03-27T01:41:57Z Merds 25 less less :root { --infobox-text-color: var(--text-color); --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } /* Infobox */ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: @white; } } tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: @white; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox-image { text-align: center; background: var(--body-main); } .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: @color_1; } .infobox-padding { backgound: var(--table-body); } tr td &:not(.infobox-padding) { padding: 0.2em 0.5em; } th &:not(.infobox-header) &:not(.infobox-subheader) &:not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } } .hidden { display: none; } 7433e39de965faade1d2fa6b3416857f76f5c010 1568 1567 2024-03-27T01:42:22Z Merds 25 less less :root { --infobox-text-color: var(--text-color); --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } /* Infobox */ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: @white; } } tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: @white; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox-image { text-align: center; background: var(--body-main); } .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: @white; } .infobox-padding { backgound: var(--table-body); } tr td &:not(.infobox-padding) { padding: 0.2em 0.5em; } th &:not(.infobox-header) &:not(.infobox-subheader) &:not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } } .hidden { display: none; } 8836c53eb8d53ec04910deb5a3cad1769d086efe 1573 1568 2024-03-27T09:23:28Z Merds 25 less less :root { --infobox-text-color: var(--text-color); --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } /* Infobox */ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: @white; } } tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: @white; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox-image { text-align: center; background: var(--body-main); } .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: @white; } .infobox-padding { backgound: var(--table-body); } tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } } .hidden { display: none; } 43e005a663a2ad0cd2280e44de2854f1307e03a9 User:Merds/common.css 2 784 1563 1523 2024-03-27T01:24:12Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /*@import url("/w/User:Merds/CSS/Infobox.css?action=raw&ctype=text/css");*/ /*</syntaxhighlight>*/ 79bc067c29534c908c60c64bdd69610fda26beb3 MediaWiki:Common.less/wikitables.less 8 17 1564 26 2024-03-27T01:39:11Z Merds 25 less less :root { --wikitable-header-bg: @BODY_DARK; --wikitable-border: @BODY_BORDER; --wikitable-bg: @BODY_LIGHT; --wikitable-bg-lighter: #e9e3d6; // lighten(@wikitable-bg, 10%); Used on hover effect --wikitable-color: @TEXT_COLOR; --table-na-background: fade(@white, 30); --table-na-color: var(--subtle-color); --table-yes-background: @caper; --table-yes-color: @san-felix; --table-no-background: @apricot-peach; --table-no-color: @mocaccino; --table-maybe-background: @golden; --table-maybe-color: @cinnamon; } // Brown-ify defaults .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: @box-shadow; // All cells borders > tr > th, > tr > td, > * > tr > th, > * > tr > td { border-color: var(--wikitable-border); // Template:NoBorder &.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } } // All header cells bg > tr > th, > * > tr > th { background-color: var(--wikitable-header-bg); color: @white; } // Already in a box .tabber & { box-shadow: none; } } // Metadata tables, allmessages, etc .mw_metadata { td, th { border-color: var(--wikitable-border); } th { background-color: var(--wikitable-header-bg); } td { background-color: var(--wikitable-bg); } } // Special:AllPages, BlockList, etc .mw-datatable { border-color: var(--wikitable-border); td, th { border-color: var(--wikitable-border); } // cells th { background-color: var(--wikitable-header-bg); } // headers td { background-color: var(--wikitable-bg); } // on hover on both cells tr:hover td { background-color: var(--wikitable-bg); } } // alternating colours (similar to spreadsheets) table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } // Template:NA .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } // Template:Yes .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } // Template:No .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } // Template:Maybe .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } // Special:AllMessages #mw-allmessagestable { .am_actual, .am_default { background-color: var(--wikitable-bg); } .am_default:hover, .am_actual:hover, tbody:hover td { background-color: var(--wikitable-bg-lighter); } } // For tables within tables, to make them take up the full space of a cell table.wikitable td.no-cell-spacing { padding: 0; height: 0; // actual height is overridden by content height, but this allows height:100% to stretch to full td height table { margin: -1px; // collapse borders with parent td width: calc(100% + 2px); height: calc(100% + 2px); } } // used on mmg table and similar // to hide bullet points .plainlist { ol, ul { margin: 0; } li { margin-bottom: 0; // might make lists slightly clamped tho list-style: none; } } /* table alignment help */ /* nth td from the left is right-aligned - ths are ignored */ table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } /* center */ table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } /* left */ table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } e2b4e19ba7d1801b72009e6882585b29235e457c MediaWiki:Common.less 8 5 1565 1115 2024-03-27T01:39:18Z Merds 25 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #feffff; --body-light: #fff8ee; /* old #f2f2f2 */ --body-mid: #d0bd97; --body-dark: #b1886f; /* old #e3e3e3 */ --body-border: #d1b9ad; /* old #878787 */ --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; /*@mine-shaft*/ --byline-color: @silver; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/documentation.less'; // [[Template:Documentation]] @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> @import '@{common}/messagebox.less'; // Messagebox templates // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 2ed3e06275091e3b6ee21e63d7eab0991ca5f049 1576 1565 2024-03-27T11:42:34Z Merds 25 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #feffff; --body-light: #fff8ee; /* old #f2f2f2 */ --body-mid: #d0bd97; --body-dark: #b1886f; /* old #e3e3e3 */ --body-border: #d1b9ad; /* old #878787 */ --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; /*@mine-shaft*/ --byline-color: @silver; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/documentation.less'; // [[Template:Documentation]] @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> @import '@{common}/messagebox.less'; // Messagebox templates // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages @import '@{common}/bstheme.less'; // [[BS:THEME]] // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } ed4ea9d226322da131a02e90c48c0eb604a81093 1578 1576 2024-03-27T11:50:34Z Merds 25 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #feffff; --body-light: #fff8ee; /* old #f2f2f2 */ --body-mid: #BF9D88; /* old #d0bd97; */ --body-dark: #b1886f; /* old #e3e3e3 */ --body-border: #d1b9ad; /* old #878787 */ --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; /*@mine-shaft*/ --byline-color: @silver; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/documentation.less'; // [[Template:Documentation]] @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> @import '@{common}/messagebox.less'; // Messagebox templates // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages @import '@{common}/bstheme.less'; // [[BS:THEME]] // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 332c9006d30c9e519ded2b542674a6f16094f274 1581 1578 2024-03-27T11:57:29Z Merds 25 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #feffff; --body-light: #fff8ee; /* old #f2f2f2 */ --body-mid: #d1b9ad; /* old #d0bd97; */ --body-dark: #b1886f; /* old #e3e3e3 */ --body-border: #d1b9ad; /* old #878787 */ --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; /*@mine-shaft*/ --byline-color: @silver; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/documentation.less'; // [[Template:Documentation]] @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> @import '@{common}/messagebox.less'; // Messagebox templates // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages @import '@{common}/bstheme.less'; // [[BS:THEME]] // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 71e60df244d29d84a2f525000b19aff170be58fd 1584 1581 2024-03-27T14:29:44Z Merds 25 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #feffff; --body-light: #fff8ee; /* old #f2f2f2 */ --body-mid: #d1b9ad; /* old #d0bd97; */ --body-dark: #b1886f; /* old #e3e3e3 */ --body-border: #e9d8cc; /* old #878787 */ --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; /*@mine-shaft*/ --byline-color: @silver; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/documentation.less'; // [[Template:Documentation]] @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> @import '@{common}/messagebox.less'; // Messagebox templates // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages @import '@{common}/bstheme.less'; // [[BS:THEME]] // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 02fb5b698f5a9f2f18c7e3ea268d3f6eb45e126d MediaWiki:Common.css 8 30 1569 1125 2024-03-27T01:42:29Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #fff8ee; --body-mid: #d0bd97; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: #937040 !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; background: var(--body-main); } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } tr td .infobox:not(.infobox-padding) { padding: 0.2em 0.5em; } th .infobox:not(.infobox-header) .infobox:not(.infobox-subheader) .infobox:not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: #cabe9b; --tile-background-color: #f9f3eb; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 65babffab1a71018fb15a89113d7ee06c6eeb3b7 1572 1569 2024-03-27T01:59:24Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #fff8ee; --body-mid: #d0bd97; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: #937040 !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; background: var(--body-main); } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } tr td .infobox:not(.infobox-padding) { padding: 0.2em 0.5em; } th .infobox:not(.infobox-header) .infobox:not(.infobox-subheader) .infobox:not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } fdcb852a140b6a5ac5928cd344f6061938e8d028 1574 1572 2024-03-27T09:23:37Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #fff8ee; --body-mid: #d0bd97; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: #937040 !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; background: var(--body-main); } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 38aec50995729429baa39504f16b1cfd58366798 1577 1574 2024-03-27T11:42:57Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #fff8ee; --body-mid: #d0bd97; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: #937040 !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; background: var(--body-main); } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 8afb8a1483314e3cebd366ee9fad5caea727de43 1582 1577 2024-03-27T11:57:35Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #fff8ee; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: #937040 !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; background: var(--body-main); } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 85c28133f80358999a13e9251dfc4eda1cb3ae8f 1585 1582 2024-03-27T14:29:52Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #fff8ee; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #e9d8cc; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: #937040 !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; background: var(--body-main); } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 63e99e4cc90e936f4a94c7b06835828d2e8596e5 MediaWiki:Common.less/tiles.less 8 50 1570 78 2024-03-27T01:56:26Z Merds 25 less less /* --------------------- tiles --------------------- */ // mainpage.less relies on this; check before changing anything :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); // match --byline-color --tile-border-color: @BODY-BORDER; --tile-background-color: @BODY-LIGHT; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: saturate( darken( #e2d2ba, 2.5% ), 2% ); --tile-dark-color: @white; --tile-dark-bg: @shuttle-gray; --tile-dark-link-color: #ccc; --tile-dark-byline-color: fade( @white, 70% ); --tile-dark-header-color: @white; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: @box-shadow; padding: 1.5em 2em 1em; max-width: 40em; h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 .4em; } // reduce spacing when byline and heading appear together // (which should be the only way bylines appear) .byline + h2 { margin-top: -0.5em; } &.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: @box-shadow-dark; h2 { color: var(--tile-dark-header-color); } a { color: var(--tile-dark-link-color); } .byline { color: var(--tile-dark-byline-color); } } } .byline { font-size: .9em; color: var(--byline-color); a { color: var(--byline-color); } } /* --------------------- tile halves --------------------- */ // contains .tile or .tile-halves .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: @box-shadow; h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 .4em; } .byline + h2 { margin-top: -0.5em; } } // goes inside .tile-halves .tile-top { width: 100%; padding: 1.3rem 1.5rem .6rem; &.tile-image { display: flex; align-items: center; // vertically center images background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: .4s ease-out; .tile-halves:hover & img { transform: scale(1.1); transition: .5s ease-out; } a { width: 100%; } img { width: 100%; object-fit: cover; max-height: 200px; transition: .4s ease-out; } } } // goes inside .tile-halves .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem .6rem; &.link-button { align-self: flex-end; // have link stick to the bottom padding: 0; a { display: block; text-align: center; padding: .75em 1.5em .8em; text-decoration: none; } } // must be used in conjunction with .link-button &.read-more { background: var(--tile-link-button-color); transition: .3s ease-out; a { color: var(--byline-color); font-weight: bold; text-align: right; } &:hover { background: var(--tile-link-button-highlight-color); .arrow { transform: translateX(50%); } } .arrow { filter: var(--byline-arrow-filter); margin-left: .4em; transition: .3s ease-out; } } } 0611e5ea643a6e0321724ef1847b413690cf976d 1571 1570 2024-03-27T01:59:14Z Merds 25 less less /* --------------------- tiles --------------------- */ // mainpage.less relies on this; check before changing anything :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); // match --byline-color --tile-border-color: @BODY_BORDER; --tile-background-color: @BODY_LIGHT; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: saturate( darken( #e2d2ba, 2.5% ), 2% ); --tile-dark-color: @white; --tile-dark-bg: @shuttle-gray; --tile-dark-link-color: #ccc; --tile-dark-byline-color: fade( @white, 70% ); --tile-dark-header-color: @white; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: @box-shadow; padding: 1.5em 2em 1em; max-width: 40em; h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 .4em; } // reduce spacing when byline and heading appear together // (which should be the only way bylines appear) .byline + h2 { margin-top: -0.5em; } &.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: @box-shadow-dark; h2 { color: var(--tile-dark-header-color); } a { color: var(--tile-dark-link-color); } .byline { color: var(--tile-dark-byline-color); } } } .byline { font-size: .9em; color: var(--byline-color); a { color: var(--byline-color); } } /* --------------------- tile halves --------------------- */ // contains .tile or .tile-halves .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: @box-shadow; h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 .4em; } .byline + h2 { margin-top: -0.5em; } } // goes inside .tile-halves .tile-top { width: 100%; padding: 1.3rem 1.5rem .6rem; &.tile-image { display: flex; align-items: center; // vertically center images background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: .4s ease-out; .tile-halves:hover & img { transform: scale(1.1); transition: .5s ease-out; } a { width: 100%; } img { width: 100%; object-fit: cover; max-height: 200px; transition: .4s ease-out; } } } // goes inside .tile-halves .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem .6rem; &.link-button { align-self: flex-end; // have link stick to the bottom padding: 0; a { display: block; text-align: center; padding: .75em 1.5em .8em; text-decoration: none; } } // must be used in conjunction with .link-button &.read-more { background: var(--tile-link-button-color); transition: .3s ease-out; a { color: var(--byline-color); font-weight: bold; text-align: right; } &:hover { background: var(--tile-link-button-highlight-color); .arrow { transform: translateX(50%); } } .arrow { filter: var(--byline-arrow-filter); margin-left: .4em; transition: .3s ease-out; } } } 3a1b228e15190df7436186c77b2a53cdf11d3382 MediaWiki:Common.less/bstheme.less 8 786 1575 2024-03-27T11:41:40Z Merds 25 prep less less // <pre> /* =========================== [[Brighter Shores:Theme]] =========================== */ .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; &:last-child { margin-right: 0; } h3 { padding: 0; } } .color-group { color: @mineshaft; padding: 1em 1.5em; transition: .2s ease-out; &:hover { transform: scale(1.03); } &.dark { color: @white; } .variable, .hexcode { font-family: monospace; font-size: 1.1em; .user-select( all ); margin: 0; // @pickled-bluewood doesn't fit on one line body.wgl-readermode & { font-size: inherit; } } .variable { font-weight: bold; } } /* // hide examples from appearing in toc .page-RuneScape_Theme #toc a[href^="#The_quick_brown_fox"] { display: none; } */ c8d43bd202c797239ed6a3df76dcde28cb30db53 User:Merds/Sandbox 2 652 1579 1120 2024-03-27T11:50:39Z Merds 25 /* Colours */ wikitext text/x-wiki This page contains information about the '''look of the Brighter Shores Wiki'''. ==Colours== <div class="color-container"> <div class="color-column"> <h3>Body</h3> <div class="color-group" style="background: #d1b9ad;"> <p class="variable">--body-border</p> <p class="hexcode">#d1b9ad</p> </div> <div class="color-group-dark" style="background: #b1886f;"> <p class="variable">--body-dark</p> <p class="hexcode">#b1886f</p> </div> <div class="color-group" style="background: #BF9D88;"> <p class="variable">--body-mid</p> <p class="hexcode">#BF9D88</p> </div> <div class="color-group" style="background: #fff8ee;"> <p class="variable">--body-light</p> <p class="hexcode">#fff8ee</p> </div> <div class="color-group" style="background: #feffff;"> <p class="variable">--body-main</p> <p class="hexcode">#feffff</p> </div> <div class="color-group-dark" style="background: #173a4d;"> <p class="variable">--body-background-color</p> <p class="hexcode">#173a4d</p> </div> </div> 5c0222a33da78d4a022e4ec287c3aa9bad09f92d 1580 1579 2024-03-27T11:56:52Z Merds 25 WIP, colors are NOT final wikitext text/x-wiki This page contains information about the '''look of the Brighter Shores Wiki'''. ==Colours== <div class="color-container"> <div class="color-column"> <h3>Body</h3> <div class="color-group" style="background: #d1b9ad;"> <p class="variable">--body-border</p> <p class="hexcode">#d1b9ad</p> </div> <div class="color-group dark" style="background: #b1886f;"> <p class="variable">--body-dark</p> <p class="hexcode">#b1886f</p> </div> <div class="color-group" style="background: #d1b9ad;"> <p class="variable">--body-mid</p> <p class="hexcode">#d1b9ad</p> </div> <div class="color-group" style="background: #fff8ee;"> <p class="variable">--body-light</p> <p class="hexcode">#fff8ee</p> </div> <div class="color-group" style="background: #feffff;"> <p class="variable">--body-main</p> <p class="hexcode">#feffff</p> </div> <div class="color-group dark" style="background: #173a4d;"> <p class="variable">--body-background-color</p> <p class="hexcode">#173a4d</p> </div> </div> f3a886831377341897bd9373451085ac16e318e4 1583 1580 2024-03-27T14:27:56Z Merds 25 wikitext text/x-wiki This page contains information about the '''look of the Brighter Shores Wiki'''. ==Colours== <div class="color-container"> <div class="color-column"> <h3>Body</h3> <div class="color-group" style="background: #e9d8cc;"> <p class="variable">--body-border</p> <p class="hexcode">#e9d8cc</p> </div> <div class="color-group dark" style="background: #b1886f;"> <p class="variable">--body-dark</p> <p class="hexcode">#b1886f</p> </div> <div class="color-group" style="background: #d1b9ad;"> <p class="variable">--body-mid</p> <p class="hexcode">#d1b9ad</p> </div> <div class="color-group" style="background: #fff8ee;"> <p class="variable">--body-light</p> <p class="hexcode">#fff8ee</p> </div> <div class="color-group" style="background: #feffff;"> <p class="variable">--body-main</p> <p class="hexcode">#feffff</p> </div> <div class="color-group dark" style="background: #173a4d;"> <p class="variable">--body-background-color</p> <p class="hexcode">#173a4d</p> </div> </div> fe2fa95da706f0cfc4789680ce9eb941849e672e Template:Incomplete 10 423 1586 678 2024-03-27T16:09:49Z Merds 25 wikitext text/x-wiki {{MessageBox |img = [[File:Raw basic bacon.png|32px|centre|link=]] |This {{PageType}} or section is incomplete and could do with improvement. |2={{#if:{{{1|}}}|Reason: ''{{{1}}}''<br />}}You can discuss this issue on the [{{fullurl:{{TALKPAGENAME}}}} talk page] or <span class="plainlinks">[{{fullurl:{{NAMESPACE}}:{{PAGENAME}}|action=edit}} edit]</span> this {{PageType}} to improve it. }}<includeonly>{{#ifeq:{{{nocat|}}}|yes||{{#if:{{{1|}}}|{{#ifeq:{{NAMESPACE}}|{{ns:Transcript}}|[[Category:Incomplete transcripts]]|[[Category:Incomplete articles]]}}|[[Category:Incomplete without reason]]}}}}</includeonly><noinclude>{{/doc}}</noinclude> afcd6963876d2581492efb0e9cadce01a3efeadc Disambiguation 0 787 1587 2024-03-27T16:10:57Z Merds 25 Redirected page to [[Category:Disambiguation]] wikitext text/x-wiki #REDIRECT [[Category:Disambiguation]] 1399f637191e4c2008b1788566212667d0f847d8 Module:Infobox 828 102 1588 1504 2024-03-27T19:36:47Z Gau Cho 5 Dropdown list support Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - check for a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') self.switch_datatable:tag('span'):wikitext('Versions: '..self.versions) self.switch_datatable:tag('span'):wikitext('Default version: '..self.default_version) end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-version', self.default_version) if self.versions > self.max_buttons then -- Dropdown list instead of buttons if too many versions local select = buttons:tag('select'):addClass('infobox-buttons-select') for version=1, self.versions do select:tag('option') :attr('value', version) :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :wikitext(self.version_names[version]) end else -- Individual buttons if not too many versions for version=1, self.versions do buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) end end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..mw.title.getCurrentTitle().fullText..'#'..self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {} for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions <= 1 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox 900bd686cb0d73fac2450ff705b63e29a86b5535 1589 1588 2024-03-27T19:40:57Z Gau Cho 5 Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - check for a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') self.switch_datatable:tag('span'):wikitext('Versions: '..self.versions) self.switch_datatable:tag('span'):wikitext('Default version: '..self.default_version) end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-version', self.default_version) if self.versions > self.max_buttons then -- Dropdown list instead of buttons if too many versions local select = buttons:tag('select') :addClass('infobox-buttons-select') :attr('id', 'infobox-'..self.infobox_name) :attr('name', 'infobox-'..self.infobox_name) for version=1, self.versions do select:tag('option') :attr('value', version) :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :wikitext(self.version_names[version]) end else -- Individual buttons if not too many versions for version=1, self.versions do buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) end end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..mw.title.getCurrentTitle().fullText..'#'..self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {} for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions <= 1 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox 6fa3ddfb37ccaf2a2d0725559c9a25303dbd7b1c 1590 1589 2024-03-27T19:43:48Z Gau Cho 5 Undo last 2 edits, mw.html doesn't seem to support select tags Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - check for a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') self.switch_datatable:tag('span'):wikitext('Versions: '..self.versions) self.switch_datatable:tag('span'):wikitext('Default version: '..self.default_version) end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-version', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..mw.title.getCurrentTitle().fullText..'#'..self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {} for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions <= 1 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox c6399b9b7849b45a0542429a62080ea8bb9e60d7 Module:Infobox/doc 828 504 1591 1502 2024-03-28T01:12:09Z Gau Cho 5 Add a short explanation of version1, version2, default_version wikitext text/x-wiki {{documentation}} {{ToC|right}} ==Creating a template step-by-step== ===Import Module:Infobox and Module:Param Parse=== <syntaxhighlight lang="lua"> local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') </syntaxhighlight> ===Unpack the frame arguments from the Template=== <syntaxhighlight lang="lua"> local p = {} function p.main(frame) local args = frame:getParent().args ... </syntaxhighlight> ===Setup the Module config settings=== <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', } </syntaxhighlight> ===Map your arguments to parsing functions=== {{Main|Module:Param Parse}} Use the functions in [[Module:Param Parse]] to validate and format the data. <syntaxhighlight lang="lua"> local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Scenery missing Image'}, {name = 'examine', func = parse.has_content}, {name = 'episode', func = parse.episode, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Scenery missing Episode'}, ... } </syntaxhighlight> ===Define an Infobox object=== {{Main|Module:Infobox#new}} <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ===Create your table=== {{Main|Module:Infobox#create}} <syntaxhighlight lang="lua"> infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } :add_row{ {tag='td', content=Infobox.param('image'), colspan='2'}, } :pad(2) :add_row{ {tag='td', content='[[Examine]]'}, {tag='td', content=Infobox.param('examine')}, } :add_row{ {tag='td', content='[[Episode]]'}, {tag='td', content=Infobox.param('episode')}, } ... </syntaxhighlight> ===You're done!=== <syntaxhighlight lang="lua"> return infobox end return p </syntaxhighlight> ==Functions== === Referring to params === Each parameter can have a different value for each version. In addition, there are 3 different representations of each value. Therefore, a parameter must be accessed via one of the 3 helper functions: {| class="wikitable" ! helper function ! example ! explanation |- | Infobox.raw_param(name) | "1000" | Raw value as passed by the Template |- | Infobox.param(name) | "1,000" | Value formatted for display in the Infobox |- | Infobox.smw_param(name) | 1000 | Value formatted to be saved as an SMW property |} === Special params === These parameters are handled specially by the module: {| class="wikitable" ! param ! explanation |- | version1, version2, version3 | Button label and SMW name for each switch version of the infobox |- | default_version | The default version to display when the page is loaded |- | version | If there is only a single version, you can use version to set the SMW name (default SMW name is "DEFAULT") |} === Infobox.new(config, params, args) === Creates a new infobox. Automatically parses the arguments, creates SMW subobjects and adds categories. <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ==== config ==== There are only 2 parameters for config <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', -- mandatory unique identifier for css max_buttons = 6, -- optional, defaults to 6, max number of switch buttons before using a dropdown list instead } </syntaxhighlight> ==== params ==== A list of parameters to be processed by the Infobox module <syntaxhighlight lang="lua"> local params = { { name = <param>, func = <func>, ... }, ... } </syntaxhighlight> {| class="wikitable" ! key ! value |- | name | parameter name as used in the Template |- | func | A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended. If func is a function, will call func(Infobox.raw_param(name)): <syntaxhighlight lang="lua"> {name = <param>, func = <func>, ... }, </syntaxhighlight> If func is a table, it takes the following parameters: <syntaxhighlight lang="lua"> {name = <param>, func = { name = <func>, params = <func_params>}, ... }, </syntaxhighlight> {| class="wikitable" | name | function in [[Module:Param Parse]] |- | params | a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name) |} |- | empty (optional) | text to display in the infobox if func returns nil; defaults to "? (edit)" |- | category_never (optional) | category to add if func returns nil for all versions |- | category_partial (optional) | category to add if func returns nil for some versions, but a value for other versions |- | category_incomplete (optional) | category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) |- | category_complete (optional) | category to add if func returns a value for all versions |- | smw_property (optional) | if this string is defined, the parameter will be saved into SMW |- | smw_func (optional) | function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |} ==== args ==== Arguments passed via the Template <syntaxhighlight lang="lua"> local args = frame:getParent().args </syntaxhighlight> === infobox:is_param_defined(param) === Used to conditionally display a line in the infobox <syntaxhighlight lang="lua"> infobox:add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } if infobox:is_param_defined(Infobox.param('owner')) > 0 then infobox:add_row{ {tag='td', content='[[Owner]]'}, {tag='td', content=Infobox.param('owner')}, } end </syntaxhighlight> {| class="wikitable" | param | a parameter referenced via Infobox.raw_param(name), Infobox.param(name) or Infobox.smw_param(name) |- | Returns | 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions |} === Infobox:add_row(...) === Adds a row to the infobox table. Parameter should be a table of cells: <syntaxhighlight lang="lua"> infobox:add_row{ {tag='td', content='[[Cell1]]', ...}, {tag='td', content=Infobox.param('param'), ...}, {tag='td', content='[[Cell3]]', ...}, ... addClass = 'row-class' } </syntaxhighlight> Each cell should have a set of key-values, of which only the tag and content are mandatory: {| class="wikitable" ! key ! value |- | tag | 'td' or 'th' |- | content | a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) |- | attr (optional) | a table of attributes to add to the cell mw.html:attr({ arg1 = '1', ... }) |- | css (optional) | a table of css to add to the cell mw.html:css({ arg1 = '1', ... }) |- | class (optional) | a string with a class to add, or a table of classes to add. '''infobox-subheader''' is commonly used. mw.html:addClass(...) |- | rowspan (optional) | Set the cell rowspan mw.html:attr('rowspan',arg) |- | rowspan (optional) | Set the cell colspan mw.html:attr('colspan',arg) |- | title (optional) | Set the cell title mw.html:attr('title',arg) |} === Infobox:pad(colspan, class) === Adds a blank row of padding spanning the given number of columns. Will always add the class infobox-padding, but can optionally add another class: <syntaxhighlight lang="lua"> infobox:pad("10", class=<class>) </syntaxhighlight> === Infobox:addClass(class) === Adds a class to the entire table <syntaxhighlight lang="lua"> infobox:addClass(class) </syntaxhighlight> 092ee90b14f506a34e3f2acd67549133fd7d13b7 User:Gau Cho/2 2 783 1592 1516 2024-03-28T01:53:26Z Gau Cho 5 wikitext text/x-wiki {{User:BlackHawk/Infobox Profession |default_version = 2 |version1 = Sad |version2 = Normal |version3 = Uber |version4 = Uber2 |version5 = Uber3 |version6 = Uber4 |version7 = Uber5 |name1 = Sad Fisher |name2 = Fisher |name3 = UberFisher |name = NeglectedFisher |image = [[File:Profession fisher.png|50px]] |release = |premium = }} 875af1e2da23ace3e2389919a49973e896151a6b Episodes 0 788 1593 2024-03-28T06:57:40Z ToofleBerry 6 Created page with "'''Episodes''' are packets of content, containing new [[non-player characters]], [[profession]]s and [[room]]s, that all contribute to the main storyline of [[Brighter Shores]]. Players can unlock new episodes by progressing through the storyline. Currently, four different episodes are available. Two episodes, the [[Mine of Mantuban]] and [[Crenopolis]], can only be accessed by players who bought a [[Premium Pass]]. ==Episodes== {| class="wikitable sortable" |- ! Order..." wikitext text/x-wiki '''Episodes''' are packets of content, containing new [[non-player characters]], [[profession]]s and [[room]]s, that all contribute to the main storyline of [[Brighter Shores]]. Players can unlock new episodes by progressing through the storyline. Currently, four different episodes are available. Two episodes, the [[Mine of Mantuban]] and [[Crenopolis]], can only be accessed by players who bought a [[Premium Pass]]. ==Episodes== {| class="wikitable sortable" |- ! Order !! Name !! Release Date !! Premium Pass? |- | 1 || [[File:Hopeport_episode_icon.png|20px]] [[Hopeport]] || Q3 [[2024]] || No |- | 2 || [[File:Hopeforest_episode_icon.png|20px]] [[Hopeforest]] || Q3 [[2024]] || No |- | 3 || [[File:Mine_of_Mantuban_episode_icon.png|20px]] [[Mine of Mantuban]] || Q3 [[2024]] || Yes |- | 4 || [[File:Crenopolis_episode_icon.png|20px]] [[Crenopolis]] || Q3 [[2024]] || Yes |} ==Trivia== * The choice to pack content into episodes was made to make the introduction to the game more gradual and less overwhelming<ref>https://www.gamesradar.com/runescape-creator-answers-our-biggest-questions-about-his-new-mmo-brighter-shores-classes-professions-monetization-and-a-ttrpg-open-world/</ref>. ==References== <references /> [[Category:Episodes|*]] 6885483f37790b0211a9e3ecd812361996f2eb9e Mine of Mantuban (location) 0 789 1594 2024-03-28T07:02:54Z ToofleBerry 6 Created page with "{{Infobox Location |name = Mine of Mantuban |image = |release = |premium = Yes |episode = Mine of Mantuban }} '''Mine of Mantuban''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. {{Premium Pass}}" wikitext text/x-wiki {{Infobox Location |name = Mine of Mantuban |image = |release = |premium = Yes |episode = Mine of Mantuban }} '''Mine of Mantuban''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. {{Premium Pass}} be372346d6cbc311e0613201883ed706588d76fd Mine of Mantuban (episode) 0 790 1595 2024-03-28T07:03:08Z ToofleBerry 6 Created page with "{{Infobox Location |name = Mine of Mantuban |image = |release = |premium = Yes |episode = Mine of Mantuban }} '''Mine of Mantuban''' is an [[episode]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. {{Premium Pass}}" wikitext text/x-wiki {{Infobox Location |name = Mine of Mantuban |image = |release = |premium = Yes |episode = Mine of Mantuban }} '''Mine of Mantuban''' is an [[episode]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. {{Premium Pass}} ed5be58164f6ae24a8c10ac1e1fdd1dc0b0d12f2 1597 1595 2024-03-28T07:03:48Z ToofleBerry 6 wikitext text/x-wiki {{Infobox Location |name = Mine of Mantuban |image = |release = |premium = Yes |episode = Mine of Mantuban }} '''Mine of Mantuban''' is an [[episodes|episode]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. {{Premium Pass}} 1d05925782860852d425e0d13decb7f450878a01 Episode 0 791 1596 2024-03-28T07:03:33Z ToofleBerry 6 Redirected page to [[Episodes]] wikitext text/x-wiki #REDIRECT [[Episodes]] f3b77cac05c24b2648976dc8b8cce2dbc35ec090 Crenopolis (location) 0 792 1598 2024-03-28T07:04:15Z ToofleBerry 6 Created page with "{{Infobox Location |name = Crenopolis |image = |release = |premium = Yes |episode = Crenopolis }} '''Crenopolis''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. Players require access to this location to unlock [[trading]], exclusive armour dyes, and name changes. {{Premium Pass}}" wikitext text/x-wiki {{Infobox Location |name = Crenopolis |image = |release = |premium = Yes |episode = Crenopolis }} '''Crenopolis''' is a [[location]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. Players require access to this location to unlock [[trading]], exclusive armour dyes, and name changes. {{Premium Pass}} d5ecde5dc9a7715878e93827189ea9b35a3054d4 Crenopolis (episode) 0 793 1599 2024-03-28T07:04:36Z ToofleBerry 6 Created page with "{{Infobox Location |name = Crenopolis |image = |release = |premium = Yes |episode = Crenopolis }} '''Crenopolis''' is an [[episode]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. {{Premium Pass}}" wikitext text/x-wiki {{Infobox Location |name = Crenopolis |image = |release = |premium = Yes |episode = Crenopolis }} '''Crenopolis''' is an [[episode]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. {{Premium Pass}} 1a1709490e27973f45eff12f2b00df4a71efb7cf 1601 1599 2024-03-28T07:05:50Z ToofleBerry 6 ToofleBerry moved page [[Crenopolis (Episode)]] to [[Crenopolis (episode)]] wikitext text/x-wiki {{Infobox Location |name = Crenopolis |image = |release = |premium = Yes |episode = Crenopolis }} '''Crenopolis''' is an [[episode]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. {{Premium Pass}} 1a1709490e27973f45eff12f2b00df4a71efb7cf Crenopolis 0 75 1600 1473 2024-03-28T07:05:41Z ToofleBerry 6 wikitext text/x-wiki {{Disambig}} '''Crenopolis''' may refer to: * [[Crenopolis (episode)]] * [[Crenopolis (location)]] a1b39539841678e1c524adace9e825479bd9ecc4 Crenopolis (Episode) 0 794 1602 2024-03-28T07:05:50Z ToofleBerry 6 ToofleBerry moved page [[Crenopolis (Episode)]] to [[Crenopolis (episode)]] wikitext text/x-wiki #REDIRECT [[Crenopolis (episode)]] a1c1e3b9694fe79c4e71ced4dcca2ed23e089fc6 Template:Premium Pass 10 165 1603 295 2024-03-28T07:06:54Z ToofleBerry 6 wikitext text/x-wiki {{Navbox |name = Premium Pass |title = [[Premium Pass]] |gtitle1 = Episodes |group1 = * [[Mine of Mantuban (episode)|Mine of Mantuban]] * [[Crenopolis (episode)|Crenopolis]] |gtitle1 = Locations |group1 = * [[Mine of Mantuban (location)|Mine of Mantuban]] * [[Crenopolis (location)|Crenopolis]] |gtitle2 = Other |group2 = * [[Trading]] }}{{Ctg|Premium Pass}} ffc5b8981a1389cc73de6fffe9a3b92a9f0e76fb Template:Premium Pass 10 165 1604 1603 2024-03-28T07:07:10Z ToofleBerry 6 wikitext text/x-wiki {{Navbox |name = Premium Pass |title = [[Premium Pass]] |gtitle1 = Episodes |group1 = * [[Mine of Mantuban (episode)|Mine of Mantuban]] * [[Crenopolis (episode)|Crenopolis]] |gtitle2 = Locations |group2 = * [[Mine of Mantuban (location)|Mine of Mantuban]] * [[Crenopolis (location)|Crenopolis]] |gtitle3 = Other |group3 = * [[Trading]] }}{{Ctg|Premium Pass}} 7e44c5dc0654a40808539b6135129a6f450a69e5 Episodes 0 788 1605 1593 2024-03-28T07:32:28Z ToofleBerry 6 wikitext text/x-wiki '''Episodes''' are packets of content, containing new [[non-player characters]], [[profession]]s and [[room]]s, that all contribute to the main storyline of [[Brighter Shores]]. Players can unlock new episodes by progressing through the storyline. Currently, four different episodes are available. Two episodes, the [[Mine of Mantuban]] and [[Crenopolis]], can only be accessed by players who bought a [[Premium Pass]]. ==Episodes== {| class="wikitable sortable" |- ! Order !! Name !! Release Date !! Premium Pass? |- | 1 || [[File:Hopeport_episode_icon.png|20px]] [[Hopeport (episode)|Hopeport]] || Q3 [[2024]] || No |- | 2 || [[File:Hopeforest_episode_icon.png|20px]] [[Hopeforest (episode)|Hopeforest]] || Q3 [[2024]] || No |- | 3 || [[File:Mine_of_Mantuban_episode_icon.png|20px]] [[Mine of Mantuban (episode)|Mine of Mantuban]] || Q3 [[2024]] || Yes |- | 4 || [[File:Crenopolis_episode_icon.png|20px]] [[Crenopolis (episode)|Crenopolis]] || Q3 [[2024]] || Yes |} ==Trivia== * The choice to pack content into episodes was made to make the introduction to the game more gradual and less overwhelming<ref>https://www.gamesradar.com/runescape-creator-answers-our-biggest-questions-about-his-new-mmo-brighter-shores-classes-professions-monetization-and-a-ttrpg-open-world/</ref>. ==References== <references /> [[Category:Episodes|*]] 82467230c5afad7e9977d61b66d60b663fca91a4 Hopeforest (episode) 0 795 1606 2024-03-28T07:32:56Z ToofleBerry 6 Created page with "{{Infobox Location |name = Hopeforest |image = |release = |premium = No |episode = Hopeforest }} '''Hopeforest''' is an episode." wikitext text/x-wiki {{Infobox Location |name = Hopeforest |image = |release = |premium = No |episode = Hopeforest }} '''Hopeforest''' is an episode. 5874b58d606f026060f35b46812de4981992fb81 Hopeforest (location) 0 796 1607 2024-03-28T07:33:08Z ToofleBerry 6 Created page with "{{Infobox Location |name = Hopeforest |image = |release = |premium = No |episode = Hopeforest }} '''Hopeforest''' is a forest [[Locations|area]] that contains [[monster]]s, accessible to all [[player]]s." wikitext text/x-wiki {{Infobox Location |name = Hopeforest |image = |release = |premium = No |episode = Hopeforest }} '''Hopeforest''' is a forest [[Locations|area]] that contains [[monster]]s, accessible to all [[player]]s. 62da8d121dbca3458bf20ceceaa85704592f051e Hopeforest 0 73 1608 1476 2024-03-28T07:33:28Z ToofleBerry 6 wikitext text/x-wiki {{Disambig}} '''Hopeforest''' may refer to: * [[Hopeforest (episode)]] * [[Hopeforest (location)]] ccd72b9b84a48fc2f21dae5b0fb914a952fd94b7 Hopeport (episode) 0 797 1609 2024-03-28T07:34:01Z ToofleBerry 6 Created page with "{{Infobox Location |name = Hopeport |image = |release = |premium = No |episode = Hopeport }} '''Hopeport''' is the first episode." wikitext text/x-wiki {{Infobox Location |name = Hopeport |image = |release = |premium = No |episode = Hopeport }} '''Hopeport''' is the first episode. 9fc9b8e4985c4996775705b00b65571484746a3b Hopeport (location) 0 798 1610 2024-03-28T07:34:28Z ToofleBerry 6 Created page with "{{Infobox Location |name = Hopeport |image = |release = |premium = No |episode = Hopeport }} '''Hopeport''' is a coastal town in [[Adothria]]. It serves as the main introductory town for new [[player]]s.{{CiteGeneral|url=https://www.godisageek.com/2024/03/brighter-shores-is-a-new-mmorpg-coming-to-pc-and-mac/ |title=Brighter Shores is a new MMORPG coming to PC and Mac |author=Adam Cook |quote=Finding themselves in the peaceful coastal town of Hopeport, players initially..." wikitext text/x-wiki {{Infobox Location |name = Hopeport |image = |release = |premium = No |episode = Hopeport }} '''Hopeport''' is a coastal town in [[Adothria]]. It serves as the main introductory town for new [[player]]s.{{CiteGeneral|url=https://www.godisageek.com/2024/03/brighter-shores-is-a-new-mmorpg-coming-to-pc-and-mac/ |title=Brighter Shores is a new MMORPG coming to PC and Mac |author=Adam Cook |quote=Finding themselves in the peaceful coastal town of Hopeport, players initially take on the role of a town guard. Their role as protector, however, soon expands far beyond the town walls as they learn of a greater threat across the fantastical world of Adothria. |date=13 March 2024 |accessdate=24 March 2024 |archiveurl=https://archive.is/GVkr3 |archivedate=24 March 2024}} ==Features== * A [[Hopeport Harbor|harbor]] ==References== {{Reflist}} 269137367c61db8809d4757533a2af90697f264a Hopeport 0 68 1611 1477 2024-03-28T07:34:53Z ToofleBerry 6 wikitext text/x-wiki {{Disambig}} '''Hopeport''' may refer to: * [[Hopeport (episode)]] * [[Hopeport (location)]] c76693d92302b297f83dfcde74207b19e375f3c6 User:Gau Cho 2 104 1612 1514 2024-03-28T17:35:29Z Gau Cho 5 wikitext text/x-wiki {{User:BlackHawk/Infobox Profession |version1 = Sad |version2 = Normal |version3 = Uber |name1 = Sad Fisher |name2 = Fisher |name3 = UberFisher |image1 = [[File:Profession fisher.png|50px]] |image2 = [[File:Profession forager.png|50px]] |image3 = [[File:Profession woodcutter.png|50px]] |release = |premium = }} 328d670d5dad5416a9c8ce6558f0f9b4cfc27053 Module:Param Parse 828 673 1613 1511 2024-03-28T17:35:51Z Gau Cho 5 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized image function function parse.image(img) if img and img:find('%S') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.-%.png") or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end return parse -- </nowiki> 028e88ea78e865c07e6ca69e39b15acfa334f87e 1627 1613 2024-03-29T01:12:30Z Gau Cho 5 yes_no Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized image function function parse.image(img) if img and img:find('%S') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.-%.png") or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end -- </nowiki> bbf7db7cc4800977cc0f489cb579584cb31502d4 1630 1627 2024-03-29T01:20:33Z Gau Cho 5 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized image function function parse.image(img) if img and img:find('%S') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.-%.png") or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end return parse -- </nowiki> f93573c3658d9be096df3cc36af055af1bacea61 1631 1630 2024-03-29T01:24:24Z Gau Cho 5 PLEASE_UPLOAD_IMAGE Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized image function parse.PLEASE_UPLOAD_IMAGE = '[[Special:Upload|Please upload an image!]]' function parse.image(img) if img and img:find('%S') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.-%.png") or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end return parse -- </nowiki> b060a5f6a7ce84303cc96a6da1c3deda51604a2a 1632 1631 2024-03-29T01:33:27Z Gau Cho 5 Undo revision 1631 by [[Special:Contributions/Gau Cho|Gau Cho]] ([[User talk:Gau Cho|talk]]) Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized image function function parse.image(img) if img and img:find('%S') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.-%.png") or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end return parse -- </nowiki> f93573c3658d9be096df3cc36af055af1bacea61 Module:Infobox 828 102 1614 1590 2024-03-28T17:38:08Z Gau Cho 5 Renaming attribute 'data-default-version' to 'data-default-index' for consistency Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - check for a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') self.switch_datatable:tag('span'):wikitext('Versions: '..self.versions) self.switch_datatable:tag('span'):wikitext('Default version: '..self.default_version) end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-index', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..mw.title.getCurrentTitle().fullText..'#'..self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {} for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions <= 1 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox 6b30c22cfa5cb7fa43c4348913d8895d4e4d110b 1615 1614 2024-03-28T17:38:42Z Gau Cho 5 Removing unnecessary data in switch_datatable Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - check for a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-index', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..mw.title.getCurrentTitle().fullText..'#'..self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {} for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions <= 1 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox dbc4cfd21b66d13191b9e3938d64c449b2732a35 1616 1615 2024-03-28T18:10:36Z Gau Cho 5 Hide dropdown buttons Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - check for a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-index', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) -- In case of dropdown list, hide the buttons as the switch gadget will convert them to a dropdown list - we can't directly create the dropdown list here as the select/option tags are rejected by wikitext if self.versions > self.max_buttons then buttons:addClass('hidden') end end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..mw.title.getCurrentTitle().fullText..'#'..self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {} for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions <= 1 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox ca9a3cd0aaa2c0b8e4273d7a1248d6167ef07c93 1621 1616 2024-03-28T18:55:45Z Gau Cho 5 Fix hidden bug Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - check for a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-index', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do local button = buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) -- In case of dropdown list, hide the buttons as the switch gadget will convert them to a dropdown list - we can't directly create the dropdown list here as the select/option tags are rejected by wikitext if self.versions > self.max_buttons then button:addClass('hidden') end end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..mw.title.getCurrentTitle().fullText..'#'..self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {} for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions <= 1 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox 818bbf8eb3c4e138ce83ecfc5d21281b5288d307 1634 1621 2024-03-29T01:47:17Z Gau Cho 5 Fix smw bug for single-versioned infoboxes Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - check for a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-index', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do local button = buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) -- In case of dropdown list, hide the buttons as the switch gadget will convert them to a dropdown list - we can't directly create the dropdown list here as the select/option tags are rejected by wikitext if self.versions > self.max_buttons then button:addClass('hidden') end end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() local versions = (self.versions > 1) and self.versions or 1 -- Grab versions, but convert 0 -> 1 for version=1, versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..mw.title.getCurrentTitle().fullText..'#'..self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {} for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions <= 1 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox e9fcee540dc9198ea1b15dcf8c784acac24fbbb4 MediaWiki:Gadgets-definition 8 6 1617 1010 2024-03-28T18:38:31Z Gau Cho 5 Remove all the gadgets that were nuked by Cook wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. For scripts that are intended for use on a lot of pages, it may be a good idea to propose it on the [[Forum:Forum Grove|Yew Grove]] first. Gadgets which can be enabled/disabled by the user (on [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]]) should have a description created on ''Mediawiki:Gadget-gadgetname''. ==Core== * autocollapse[ResourceLoader|type=general|default|hidden|dependencies=mediawiki.Uri]|autocollapse.js * autosort[ResourceLoader|type=general|dependencies=ext.gadget.bsw-util,ext.gadget.highlightTable|targets=desktop,mobile|default]|autosort.js * bsw-util[ResourceLoader|dependencies=mediawiki.util|targets=desktop,mobile|type=general|default|hidden]|bsw-util.js * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js * navboxToggle[ResourceLoader|targets=mobile|dependencies=ext.gadget.bsw-util|type=general|default|hidden]|navboxToggle.js * tooltips[ResourceLoader|type=general|default|hidden]|tooltips.js * uncheckfileredirects[ResourceLoader|type=general|rights=suppressredirect|default|hidden]|UncheckFileRedirect.js ==Tools== * contributions[ResourceLoader|type=general|default|dependencies=ext.gadget.bsw-util]|contributions.js * dropdown[ResourceLoader|type=general|dependencies=mediawiki.util,mediawiki.api|default]|dropdown.js * editCount[ResourceLoader|type=general|dependencies=ext.gadget.bsw-util]|editCount.js * newPage[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util|rights=createpage]|newPage.js * purge[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util,ext.smw.purge,mediawiki.api|hidden]|purge.js * QuickDiff[ResourceLoader|type=general|dependencies=mediawiki.Uri,mediawiki.util]|QDmodal.js|QuickDiff.js|QDmodal.css * scribunto-console[ResourceLoader|actions=edit|type=general|default]|scribunto-console.js * scribunto-console-core[ResourceLoader|type=general|hidden]|scribunto-console-core.js|scribunto-console.css * sectionAnchors[ResourceLoader|type=general|default]|sectionAnchors.js|sectionAnchors.css ==Appearance== * markblocked[ResourceLoader|type=general]|markblocked.js * readableHistory[ResourceLoader|type=general|actions=history]|readableHistory.js|readableHistory.css * readableRC[ResourceLoader|type=general]|readableRC.js * readableRC-core[ResourceLoader|type=general|dependencies=oojs-ui-core|hidden]|readableRC-core.js|readableRC-core.css ==Other== * gadgetLinks[ResourceLoader|type=general|default]|gadgetLinks.js a40d2add8b7af680f45ae55ec10b8acc30ed4eb8 1618 1617 2024-03-28T18:39:11Z Gau Cho 5 Remove ext.gadget.highlightTable dependancy from autosort, as highlightTable doesn't exist wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. For scripts that are intended for use on a lot of pages, it may be a good idea to propose it on the [[Forum:Forum Grove|Yew Grove]] first. Gadgets which can be enabled/disabled by the user (on [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]]) should have a description created on ''Mediawiki:Gadget-gadgetname''. ==Core== * autocollapse[ResourceLoader|type=general|default|hidden|dependencies=mediawiki.Uri]|autocollapse.js * autosort[ResourceLoader|type=general|dependencies=ext.gadget.bsw-util|targets=desktop,mobile|default]|autosort.js * bsw-util[ResourceLoader|dependencies=mediawiki.util|targets=desktop,mobile|type=general|default|hidden]|bsw-util.js * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js * navboxToggle[ResourceLoader|targets=mobile|dependencies=ext.gadget.bsw-util|type=general|default|hidden]|navboxToggle.js * tooltips[ResourceLoader|type=general|default|hidden]|tooltips.js * uncheckfileredirects[ResourceLoader|type=general|rights=suppressredirect|default|hidden]|UncheckFileRedirect.js ==Tools== * contributions[ResourceLoader|type=general|default|dependencies=ext.gadget.bsw-util]|contributions.js * dropdown[ResourceLoader|type=general|dependencies=mediawiki.util,mediawiki.api|default]|dropdown.js * editCount[ResourceLoader|type=general|dependencies=ext.gadget.bsw-util]|editCount.js * newPage[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util|rights=createpage]|newPage.js * purge[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util,ext.smw.purge,mediawiki.api|hidden]|purge.js * QuickDiff[ResourceLoader|type=general|dependencies=mediawiki.Uri,mediawiki.util]|QDmodal.js|QuickDiff.js|QDmodal.css * scribunto-console[ResourceLoader|actions=edit|type=general|default]|scribunto-console.js * scribunto-console-core[ResourceLoader|type=general|hidden]|scribunto-console-core.js|scribunto-console.css * sectionAnchors[ResourceLoader|type=general|default]|sectionAnchors.js|sectionAnchors.css ==Appearance== * markblocked[ResourceLoader|type=general]|markblocked.js * readableHistory[ResourceLoader|type=general|actions=history]|readableHistory.js|readableHistory.css * readableRC[ResourceLoader|type=general]|readableRC.js * readableRC-core[ResourceLoader|type=general|dependencies=oojs-ui-core|hidden]|readableRC-core.js|readableRC-core.css ==Other== * gadgetLinks[ResourceLoader|type=general|default]|gadgetLinks.js b19f590d35bfe07c2fd698a66c1a1863930a376e 1619 1618 2024-03-28T18:42:29Z Gau Cho 5 Add switch-infobox wikitext text/x-wiki This page contains the definitions for all gadgets on the wiki. In most cases, code that could be placed in Common.js should be made into a module here instead for granularity and better support for mobile, etc. Edits to this page should be done with care. When targeting a gadget for mobile, ensure that the gadget '''works''' on mobile properly by debugging it on mobile devices. Some mobile devices do not allow JavaScript to run, or do not run it by default, so there should always be a fallback option for those that do not have JS enabled. For scripts that are intended for use on a lot of pages, it may be a good idea to propose it on the [[Forum:Forum Grove|Yew Grove]] first. Gadgets which can be enabled/disabled by the user (on [[Special:Preferences#mw-prefsection-gadgets|Special:Preferences]]) should have a description created on ''Mediawiki:Gadget-gadgetname''. ==Core== * autocollapse[ResourceLoader|type=general|default|hidden|dependencies=mediawiki.Uri]|autocollapse.js * autosort[ResourceLoader|type=general|dependencies=ext.gadget.bsw-util|targets=desktop,mobile|default]|autosort.js * bsw-util[ResourceLoader|dependencies=mediawiki.util|targets=desktop,mobile|type=general|default|hidden]|bsw-util.js * Less[ResourceLoader|rights=editinterface|dependencies=mediawiki.api|type=general|default|hidden]|Less.js * navboxToggle[ResourceLoader|targets=mobile|dependencies=ext.gadget.bsw-util|type=general|default|hidden]|navboxToggle.js * switch-infobox[ResourceLoader|type=general|default|hidden|targets=desktop,mobile]|switch-infobox.js * tooltips[ResourceLoader|type=general|default|hidden]|tooltips.js * uncheckfileredirects[ResourceLoader|type=general|rights=suppressredirect|default|hidden]|UncheckFileRedirect.js ==Tools== * contributions[ResourceLoader|type=general|default|dependencies=ext.gadget.bsw-util]|contributions.js * dropdown[ResourceLoader|type=general|dependencies=mediawiki.util,mediawiki.api|default]|dropdown.js * editCount[ResourceLoader|type=general|dependencies=ext.gadget.bsw-util]|editCount.js * newPage[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util|rights=createpage]|newPage.js * purge[ResourceLoader|default|type=general|dependencies=ext.gadget.bsw-util,ext.smw.purge,mediawiki.api|hidden]|purge.js * QuickDiff[ResourceLoader|type=general|dependencies=mediawiki.Uri,mediawiki.util]|QDmodal.js|QuickDiff.js|QDmodal.css * scribunto-console[ResourceLoader|actions=edit|type=general|default]|scribunto-console.js * scribunto-console-core[ResourceLoader|type=general|hidden]|scribunto-console-core.js|scribunto-console.css * sectionAnchors[ResourceLoader|type=general|default]|sectionAnchors.js|sectionAnchors.css ==Appearance== * markblocked[ResourceLoader|type=general]|markblocked.js * readableHistory[ResourceLoader|type=general|actions=history]|readableHistory.js|readableHistory.css * readableRC[ResourceLoader|type=general]|readableRC.js * readableRC-core[ResourceLoader|type=general|dependencies=oojs-ui-core|hidden]|readableRC-core.js|readableRC-core.css ==Other== * gadgetLinks[ResourceLoader|type=general|default]|gadgetLinks.js 416bee1eb1e2d53d417b200cef8729ffbd4416dd MediaWiki:Gadget-switch-infobox.js 8 799 1620 2024-03-28T18:43:29Z Gau Cho 5 Created page with "$(() => { /** * Sets the website's hash to display the current index's label * e.g. https://brightershoreswiki.org/w/PAGE#BUTTON_NAME * @param {string} index The index of the infobox ("1", "2", "3", etc) * @param {Node} infobox The infobox node */ const set_href_hash = (index, infobox) => { const buttons = infobox.firstElementChild.firstElementChild const anchor = buttons.querySelector('[data-switch-index="' + index + '"]'..." javascript text/javascript $(() => { /** * Sets the website's hash to display the current index's label * e.g. https://brightershoreswiki.org/w/PAGE#BUTTON_NAME * @param {string} index The index of the infobox ("1", "2", "3", etc) * @param {Node} infobox The infobox node */ const set_href_hash = (index, infobox) => { const buttons = infobox.firstElementChild.firstElementChild const anchor = buttons.querySelector('[data-switch-index="' + index + '"]').getAttribute('data-switch-anchor') if(window.history && window.history.replaceState) { window.history.replaceState(null, '', window.location.origin + window.location.pathname + anchor) } } /** * Returns a representation of all the switch data for all the different infobox indices * by parsing div.infobox-switch-resources located immediately after the infobox * @param {Node} infobox The infobox node * @returns {Object} resources[data-attr-param][data-attr-index] = Array(...nodes) */ const get_resources = infobox => { const resources_el = infobox.nextElementSibling.children const resources = {} for(const param_el of resources_el) { const param = param_el.getAttribute('data-attr-param') resources[param] = {} for(const value_el of param_el.children) { const index = value_el.getAttribute('data-attr-index') const value = value_el.childNodes resources[param][index] = Array.from(value) // Convert from NodeList to Array, or else the NodeList gets depopulated by param.replaceChildren in update_infobox() } } return resources } /** * Visually updates the infobox with the nodes from the selected index * @param {string} index The index of the infobox ("1", "2", "3", etc) * @param {Node} infobox The infobox node * @param {Object} resources Switch data from get_resources() */ const update_infobox = (index, infobox, resources) => { // Grab every param that changes and swap in the new Nodes const params = infobox.querySelectorAll('[data-attr-param]') for(const param of params) { const resource = resources[param.getAttribute('data-attr-param')][index] param.replaceChildren(...resource) } // Update the url's hash to the current index's label set_href_hash(index, infobox) } /** * Handles a button press to update the infobox * 1) Visually updates the button * 2) Visually updates the infobox * @param {string} index The index of the infobox ("1", "2", "3", etc) associated with the button * @param {Node} infobox The infobox node * @param {Object} resources Switch data from get_resources() */ const event_button_press = (index, infobox, resources) => { return function(event) { // If the button is already selected, we don't need to swap, but let's update the hash if(this.classList.contains('button-selected')) { set_href_hash(index, infobox) return } // Visually update the button that is pressed for(const button of this.parentElement.children) { button.classList.remove('button-selected') } this.classList.add('button-selected') // Visually update the infobox update_infobox(index, infobox, resources) } } /** * Handles a dropdown list change to update the infobox * 1) Visually updates the infobox * @param {Node} infobox The infobox node * @param {Object} resources Switch data from get_resources() */ const event_select_change = (infobox, resources) => { return function(event) { update_infobox(this.value, infobox, resources) } } /** * Sets up the buttons in the infobox in order to be responsive * 1) If there are too many buttons (indicated by .infobox-buttons-select), convert to a dropdown list * 2) Set the default button/option * 3) Add event listeners * 4) Check the href's hash and optionally switch the index to the requested index * @param {Number} i The nth .infobox-switch on the page * @param {Node} infobox The infobox node * @param {Object} resources Switch data from get_resources() */ const setup_buttons = (i, infobox, resources) => { // Get the parent button node: table -> caption -> div const buttons = infobox.firstElementChild.firstElementChild // The node contains the default index with which the infobox is pre-populated // We also check the href's hash as we might need to immediately change to a different index const default_index = buttons.getAttribute('data-default-index') const hash = window.location.hash if(!buttons.classList.contains('infobox-buttons-select')) { // We don't need to make a dropdown list, we just use the existing elements // Add the event listener for each button, and mark the selected button for(const button of buttons.children) { const index = button.getAttribute('data-switch-index') if (index == default_index) { button.classList.add('button-selected') } button.addEventListener('click', event_button_press(index, infobox, resources)) } // If the hash matches one of our anchors, switch to this index const hash_targetted_button = buttons.querySelector('[data-switch-anchor="' + hash + '"]') if(hash_targetted_button) { hash_targetted_button.dispatchEvent(new Event('click')) } } else { // There are too many buttons so we need to replace them all with a dropdown list // We do it in javascript and not in Module:Infobox as wikitext doesn't support select/option tags const options = Array.from(buttons.children).map(button => { // Copy over the data from each button into an option element const option = document.createElement('option') const index = button.getAttribute('data-switch-index') option.setAttribute('data-switch-index', index) option.setAttribute('value', index) option.setAttribute('data-switch-anchor', button.getAttribute('data-switch-anchor')) option.textContent = button.textContent return option }) // Create the parent select tag and populate it with the default_index const select = document.createElement('select') select.append(...options) select.id = 'infobox-select-' + i select.name = select.id select.value = default_index // Add the event listener select.addEventListener('change', event_select_change(infobox, resources)) buttons.replaceChildren(select) // If the hash matches one of our anchors, switch to this index const hash_targetted_option = select.querySelector('[data-switch-anchor="' + hash + '"]') if(hash_targetted_option) { select.value = hash_targetted_option.value } } } /** * Sets up a .infobox-switch * @param {Number} i The nth .infobox-switch on the page * @param {Node} infobox The infobox node */ const setup_switch_infobox = (i, infobox) => { // Get the switch data const resources = get_resources(infobox) // Setup the buttons and event handlers setup_buttons(i, infobox, resources) } /** * Sets up all the .infobox-switch on the page * @param {jQuery} content #mw-content-text */ const setup_switch_infoboxes = content => { content.find('.infobox-switch').each((i, infobox_el) => { setup_switch_infobox(i, infobox_el) }) } mw.hook('wikipage.content').add(setup_switch_infoboxes) }) 604603cf6418bd56deb390584a47769d45cc601b MediaWiki:Common.less/infobox.less 8 26 1622 1573 2024-03-28T19:23:22Z Merds 25 less less :root { --infobox-text-color: var(--text-color); --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } /* Infobox */ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: @white; } } tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: @white; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox-image { text-align: center; } .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: @white; } .infobox-padding { backgound: var(--table-body); } tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } } .hidden { display: none; } c028292d415e78c614bad94179b78d4c5dc72690 MediaWiki:Common.css 8 30 1623 1585 2024-03-28T19:23:30Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #fff8ee; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #e9d8cc; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: #937040 !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: #b1886f; --table-subheader: #d1b9ad; --table-body: #fff8ee; --table-border: #e9d8cc; } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 6049d6d6fca64d7a1866c43b58c27a8e05c91974 Module:Infobox/doc 828 504 1624 1591 2024-03-28T21:48:33Z Gau Cho 5 Common classes are listed (infobox-header, infobox-subheader, infobox-image) wikitext text/x-wiki {{documentation}} {{ToC|right}} ==Creating a template step-by-step== ===Import Module:Infobox and Module:Param Parse=== <syntaxhighlight lang="lua"> local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') </syntaxhighlight> ===Unpack the frame arguments from the Template=== <syntaxhighlight lang="lua"> local p = {} function p.main(frame) local args = frame:getParent().args ... </syntaxhighlight> ===Setup the Module config settings=== <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', } </syntaxhighlight> ===Map your arguments to parsing functions=== {{Main|Module:Param Parse}} Use the functions in [[Module:Param Parse]] to validate and format the data. <syntaxhighlight lang="lua"> local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Scenery missing Image'}, {name = 'examine', func = parse.has_content}, {name = 'episode', func = parse.episode, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Scenery missing Episode'}, ... } </syntaxhighlight> ===Define an Infobox object=== {{Main|Module:Infobox#new}} <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ===Create your table=== {{Main|Module:Infobox#create}} <syntaxhighlight lang="lua"> infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } :add_row{ {tag='td', content=Infobox.param('image'), colspan='2'}, } :pad(2) :add_row{ {tag='td', content='[[Examine]]'}, {tag='td', content=Infobox.param('examine')}, } :add_row{ {tag='td', content='[[Episode]]'}, {tag='td', content=Infobox.param('episode')}, } ... </syntaxhighlight> ===You're done!=== <syntaxhighlight lang="lua"> return infobox end return p </syntaxhighlight> ==Functions== === Referring to params === Each parameter can have a different value for each version. In addition, there are 3 different representations of each value. Therefore, a parameter must be accessed via one of the 3 helper functions: {| class="wikitable" ! helper function ! example ! explanation |- | Infobox.raw_param(name) | "1000" | Raw value as passed by the Template |- | Infobox.param(name) | "1,000" | Value formatted for display in the Infobox |- | Infobox.smw_param(name) | 1000 | Value formatted to be saved as an SMW property |} === Special params === These parameters are handled specially by the module: {| class="wikitable" ! param ! explanation |- | version1, version2, version3 | Button label and SMW name for each switch version of the infobox |- | default_version | The default version to display when the page is loaded |- | version | If there is only a single version, you can use version to set the SMW name (default SMW name is "DEFAULT") |} === Infobox.new(config, params, args) === Creates a new infobox. Automatically parses the arguments, creates SMW subobjects and adds categories. <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ==== config ==== There are only 2 parameters for config <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', -- mandatory unique identifier for css max_buttons = 6, -- optional, defaults to 6, max number of switch buttons before using a dropdown list instead } </syntaxhighlight> ==== params ==== A list of parameters to be processed by the Infobox module <syntaxhighlight lang="lua"> local params = { { name = <param>, func = <func>, ... }, ... } </syntaxhighlight> {| class="wikitable" ! key ! value |- | name | parameter name as used in the Template |- | func | A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended. If func is a function, will call func(Infobox.raw_param(name)): <syntaxhighlight lang="lua"> {name = <param>, func = <func>, ... }, </syntaxhighlight> If func is a table, it takes the following parameters: <syntaxhighlight lang="lua"> {name = <param>, func = { name = <func>, params = <func_params>}, ... }, </syntaxhighlight> {| class="wikitable" | name | function in [[Module:Param Parse]] |- | params | a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name) |} |- | empty (optional) | text to display in the infobox if func returns nil; defaults to "? (edit)" |- | category_never (optional) | category to add if func returns nil for all versions |- | category_partial (optional) | category to add if func returns nil for some versions, but a value for other versions |- | category_incomplete (optional) | category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) |- | category_complete (optional) | category to add if func returns a value for all versions |- | smw_property (optional) | if this string is defined, the parameter will be saved into SMW |- | smw_func (optional) | function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |} ==== args ==== Arguments passed via the Template <syntaxhighlight lang="lua"> local args = frame:getParent().args </syntaxhighlight> === infobox:is_param_defined(param) === Used to conditionally display a line in the infobox <syntaxhighlight lang="lua"> infobox:add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } if infobox:is_param_defined(Infobox.param('owner')) > 0 then infobox:add_row{ {tag='td', content='[[Owner]]'}, {tag='td', content=Infobox.param('owner')}, } end </syntaxhighlight> {| class="wikitable" | param | a parameter referenced via Infobox.raw_param(name), Infobox.param(name) or Infobox.smw_param(name) |- | Returns | 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions |} === Infobox:add_row(...) === Adds a row to the infobox table. Parameter should be a table of cells: <syntaxhighlight lang="lua"> infobox:add_row{ {tag='td', content='[[Cell1]]', ...}, {tag='td', content=Infobox.param('param'), ...}, {tag='td', content='[[Cell3]]', ...}, ... addClass = 'row-class' } </syntaxhighlight> Each cell should have a set of key-values, of which only the tag and content are mandatory: {| class="wikitable" ! key ! value |- | tag | 'td' or 'th' |- | content | a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) |- | attr (optional) | a table of attributes to add to the cell mw.html:attr({ arg1 = '1', ... }) |- | css (optional) | a table of css to add to the cell mw.html:css({ arg1 = '1', ... }) |- | class (optional) | a string with a class to add, or a table of classes to add. '''infobox-header''', '''infobox-subheader''' and '''infobox-image''' are commonly used. mw.html:addClass(...) |- | rowspan (optional) | Set the cell rowspan mw.html:attr('rowspan',arg) |- | rowspan (optional) | Set the cell colspan mw.html:attr('colspan',arg) |- | title (optional) | Set the cell title mw.html:attr('title',arg) |} === Infobox:pad(colspan, class) === Adds a blank row of padding spanning the given number of columns. Will always add the class '''infobox-padding''', but can optionally add another class: <syntaxhighlight lang="lua"> infobox:pad("10", class=<class>) </syntaxhighlight> === Infobox:addClass(class) === Adds a class to the entire table <syntaxhighlight lang="lua"> infobox:addClass(class) </syntaxhighlight> fc3b56f3b556936a5e088d9613e6734614d6c5f9 Module:Infobox Profession 828 800 1625 2024-03-29T01:02:12Z Gau Cho 5 Created page with "local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_conte..." Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.has_content, smw_property = 'Premium', smw_func = parse.premium_smw, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) return infobox end return p 62667a9277253863a5fca5fd4dd2ebd42a1a2191 1629 1625 2024-03-29T01:16:13Z Gau Cho 5 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) return infobox end return p 3b70f4e3aad9b7a159ce719627788f9442f4f47f Module:Infobox Profession/doc 828 801 1626 2024-03-29T01:03:06Z Gau Cho 5 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Module:Param Parse/doc 828 781 1628 1515 2024-03-29T01:14:37Z Gau Cho 5 yes_no wikitext text/x-wiki {{documentation}} These functions are used to validate and format information passed into an Infobox. See [[Module:Infobox]] for details and instructions on creating an Infobox. If the information is missing or not valid, the functions here should return nil. Here is a summary of all the functions: {| class="wikitable" ! function name ! explanation |- | has_content(arg) | Returns arg if any non-whitespace character is found in the string. |- | image(img) | Returns img if any non-whitespace character is found in the string. |- | image_smw(img) | Searches for and returns "File:___.png" |- | number(num) | Removes any commas and parses the string as a number |- | episode(episode) | Returns a plink of the episode, e.g. [[File:Hopeport episode icon.png|18px]] [[Hopeport]] |- | episode_smw(episode) | Returns the name of the episode if valid |- | yes_no(text) | Only accepts "Yes", "No" and "N/A" |- | yes_no_smw(text) | Maps "Yes", "No" to true and false respectively |} ba60fb207d2699144ba6d0a1040b6670ecf68668 Template:Infobox Profession 10 661 1633 1457 2024-03-29T01:38:37Z Gau Cho 5 wikitext text/x-wiki {{#invoke:Infobox Profession|main}}{{Mainonly|[[Category:Professions]]}}<noinclude>{{/doc}}</noinclude> 69291fd2670a44aa3ffcf3e0607057c55f6b2da0 Template:Property 10 802 1635 2024-03-29T01:53:22Z Gau Cho 5 Created page with "This page tracks and controls the '''{{PAGENAME}}''' property. This property accepts and displays values that are [[has type::{{{type|page}}}]]s. {{{notes|}}} ---- [{{fullurl:Special:Ask|q={{urlencode:[[{{PAGENAME}}::+]]}}&limit=500&po={{urlencode:?{{PAGENAME}}}} }} '''Table of all articles using this property''']<noinclude>{{/doc}}[[Category:Transclusion templates]]</noinclude>" wikitext text/x-wiki This page tracks and controls the '''{{PAGENAME}}''' property. This property accepts and displays values that are [[has type::{{{type|page}}}]]s. {{{notes|}}} ---- [{{fullurl:Special:Ask|q={{urlencode:[[{{PAGENAME}}::+]]}}&limit=500&po={{urlencode:?{{PAGENAME}}}} }} '''Table of all articles using this property''']<noinclude>{{/doc}}[[Category:Transclusion templates]]</noinclude> a5ecf2ef76de0f8b63e8b089734154cb288754cc Template:Property/doc 10 803 1636 2024-03-29T01:53:34Z Gau Cho 5 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Property:Image 302 804 1637 2024-03-29T01:53:56Z Gau Cho 5 Created page with "{{property|type=page}}" wikitext text/x-wiki {{property|type=page}} dbde6d941465ec6119d8703d36911f52c1872ec8 Property:Name 302 805 1638 2024-03-29T01:54:24Z Gau Cho 5 Created page with "{{Property|type=text}}" wikitext text/x-wiki {{Property|type=text}} bb3fcbac32fa65eb44caa27878d9413b33012db5 User:Merds/common.css 2 784 1639 1563 2024-03-31T19:15:58Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /*@import url("/w/User:Merds/CSS/Infobox.css?action=raw&ctype=text/css");*/ @import url("/w/User:Merds/CSS/Theme.css"); /*</syntaxhighlight>*/ d2418cf909bba54d96607e7897b4584bdd76e026 1641 1639 2024-03-31T19:23:05Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /*@import url("/w/User:Merds/CSS/Infobox.css?action=raw&ctype=text/css");*/ @import url("/w/User:Merds/CSS/Theme.css?action=raw&ctype=text/css"); /*</syntaxhighlight>*/ 9ccc5a78d7fec5feec20dcabe535231c55b31e9e User:Merds/CSS/Theme.css 2 806 1640 2024-03-31T19:18:22Z Merds 25 Created page with "/* this needs a background pic!!! */ :root { --body-main: hsl(310deg 31% 84%); --body-light: hsl(310deg 32% 78%); --body-mid: hsl(310deg 38% 70%); --body-dark: hsl(310deg 28% 62%); --body-border: hsl(310deg 15% 50%); --body-background-color: hsl(310deg 32% 64%); --button-background: hsl(310 18% 32% / 1); --button-color: #fff; --button-border: hsl(310 33% 4% / 1); --button-dark: hsl(310deg 33% 7%); --button-light: hsl(310deg 33..." css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(310deg 31% 84%); --body-light: hsl(310deg 32% 78%); --body-mid: hsl(310deg 38% 70%); --body-dark: hsl(310deg 28% 62%); --body-border: hsl(310deg 15% 50%); --body-background-color: hsl(310deg 32% 64%); --button-background: hsl(310 18% 32% / 1); --button-color: #fff; --button-border: hsl(310 33% 4% / 1); --button-dark: hsl(310deg 33% 7%); --button-light: hsl(310deg 33% 17%); --sidebar: hsl(310deg 41% 68%); --sidebar-text-color: hsl(0deg 0% 27%); --sidebar-link-color: hsl(310deg 48% 18%); --search-box: hsl(310deg 22% 92%); --link-color: hsl(310deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); --text-color: hsl(310deg 100% 4%); --byline-color: hsl(310deg 6% 38%); --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(310, 33%, 80%); --personal-links-bg: hsl(310deg 27% 78%); --ooui-normal:hsl(310, 32%, 75%); --ooui-normal--hover:hsl(310, 31%, 81%); --ooui-normal-border:hsl(310, 27%, 61%); --ooui-progressive:hsl(310, 17%, 32%); --ooui-progressive--hover:hsl(310, 17%, 42%); --ooui-input-border:hsl(310, 27%, 61%); --ooui-input-border--hover:hsl(310, 27%, 42%); --ooui-disabled:hsl(310, 11%, 79%); --ooui-disabled-border:hsl(310, 15%, 71%); --tile-border-color: hsl(310 31% 70% / 1); --tile-background-color: hsl(310 54% 95% / 1); --tile-link-button-color: hsl(310 57% 91% / 1); --tile-link-button-highlight-color: hsl(310 42% 78% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(310 11% 41% / 1); --tile-dark-link-color: hsl(0deg 0% 80%); --tile-dark-byline-color: hsl(310 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(310deg 28% 74%); --questdetails-header-background-alt: hsl(310deg 32% 72%); --transcript-background: hsl(310deg 32% 78%); --transcript-border-color: hsl(310deg 33% 56%); --transcript-border-hover-color: hsl(310deg 65% 32%); --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%235d4159' fill-rule='evenodd'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%235D5141' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%235d4159' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23933984' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23933984' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } body { background-image: none; } 21b3e4d4a6a5bb7e61d350a2f5aa21037215f3b1 1642 1640 2024-03-31T19:23:26Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(310deg 31% 84%); --body-light: hsl(310deg 32% 78%); --body-mid: hsl(310deg 38% 70%); --body-dark: hsl(310deg 28% 62%); --body-border: hsl(310deg 15% 50%); --body-background-color: hsl(310deg 32% 64%); --button-background: hsl(310 18% 32% / 1); --button-color: #fff; --button-border: hsl(310 33% 4% / 1); --button-dark: hsl(310deg 33% 7%); --button-light: hsl(310deg 33% 17%); --sidebar: hsl(310deg 41% 68%); --sidebar-text-color: hsl(0deg 0% 27%); --sidebar-link-color: hsl(310deg 48% 18%); --search-box: hsl(310deg 22% 92%); --link-color: hsl(310deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); --text-color: hsl(310deg 100% 4%); --byline-color: hsl(310deg 6% 38%); --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(310, 33%, 80%); --personal-links-bg: hsl(310deg 27% 78%); --ooui-normal:hsl(310, 32%, 75%); --ooui-normal--hover:hsl(310, 31%, 81%); --ooui-normal-border:hsl(310, 27%, 61%); --ooui-progressive:hsl(310, 17%, 32%); --ooui-progressive--hover:hsl(310, 17%, 42%); --ooui-input-border:hsl(310, 27%, 61%); --ooui-input-border--hover:hsl(310, 27%, 42%); --ooui-disabled:hsl(310, 11%, 79%); --ooui-disabled-border:hsl(310, 15%, 71%); --tile-border-color: hsl(310 31% 70% / 1); --tile-background-color: hsl(310 54% 95% / 1); --tile-link-button-color: hsl(310 57% 91% / 1); --tile-link-button-highlight-color: hsl(310 42% 78% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(310 11% 41% / 1); --tile-dark-link-color: hsl(0deg 0% 80%); --tile-dark-byline-color: hsl(310 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(310deg 28% 74%); --questdetails-header-background-alt: hsl(310deg 32% 72%); --transcript-background: hsl(310deg 32% 78%); --transcript-border-color: hsl(310deg 33% 56%); --transcript-border-hover-color: hsl(310deg 65% 32%); --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%235d4159' fill-rule='evenodd'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%235D5141' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%235d4159' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23933984' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23933984' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } 1cff9a0f901957e635a62ece2077e85924a676f0 1643 1642 2024-03-31T19:26:35Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(40deg 31% 84%); --body-light: hsl(40deg 32% 78%); --body-mid: hsl(40deg 38% 70%); --body-dark: hsl(40deg 28% 62%); --body-border: hsl(40deg 15% 50%); --body-background-color: hsl(40deg 32% 64%); --button-background: hsl(310 18% 32% / 1); --button-color: #fff; --button-border: hsl(310 33% 4% / 1); --button-dark: hsl(40deg 33% 7%); --button-light: hsl(40deg 33% 17%); --sidebar: hsl(40deg 41% 68%); --sidebar-text-color: hsl(0deg 0% 27%); --sidebar-link-color: hsl(40deg 48% 18%); --search-box: hsl(40deg 22% 92%); --link-color: hsl(40deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); --text-color: hsl(40deg 100% 4%); --byline-color: hsl(40deg 6% 38%); --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(310, 33%, 80%); --personal-links-bg: hsl(40deg 27% 78%); --ooui-normal:hsl(310, 32%, 75%); --ooui-normal--hover:hsl(310, 31%, 81%); --ooui-normal-border:hsl(310, 27%, 61%); --ooui-progressive:hsl(310, 17%, 32%); --ooui-progressive--hover:hsl(310, 17%, 42%); --ooui-input-border:hsl(310, 27%, 61%); --ooui-input-border--hover:hsl(310, 27%, 42%); --ooui-disabled:hsl(310, 11%, 79%); --ooui-disabled-border:hsl(310, 15%, 71%); --tile-border-color: hsl(310 31% 70% / 1); --tile-background-color: hsl(310 54% 95% / 1); --tile-link-button-color: hsl(310 57% 91% / 1); --tile-link-button-highlight-color: hsl(310 42% 78% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(310 11% 41% / 1); --tile-dark-link-color: hsl(0deg 0% 80%); --tile-dark-byline-color: hsl(310 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(40deg 28% 74%); --questdetails-header-background-alt: hsl(40deg 32% 72%); --transcript-background: hsl(40deg 32% 78%); --transcript-border-color: hsl(40deg 33% 56%); --transcript-border-hover-color: hsl(40deg 65% 32%); --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%235d4159' fill-rule='evenodd'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%235D5141' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%235d4159' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23933984' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23933984' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } 9354117868a6cb24306146d6f36c164466a1b595 1644 1643 2024-03-31T19:28:16Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(40deg 31% 84%); --body-light: hsl(40deg 32% 78%); --body-mid: hsl(40deg 38% 70%); --body-dark: hsl(40deg 28% 62%); --body-border: hsl(40deg 15% 50%); --body-background-color: hsl(40deg 32% 64%); --button-background: hsl(40 18% 32% / 1); --button-color: #fff; --button-border: hsl(40 33% 4% / 1); --button-dark: hsl(40deg 33% 7%); --button-light: hsl(40deg 33% 17%); --sidebar: hsl(40deg 41% 68%); --sidebar-text-color: hsl(0deg 0% 27%); --sidebar-link-color: hsl(40deg 48% 18%); --search-box: hsl(40deg 22% 92%); --link-color: hsl(40deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); --text-color: hsl(40deg 100% 4%); --byline-color: hsl(40deg 6% 38%); --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(310, 33%, 80%); --personal-links-bg: hsl(40deg 27% 78%); --ooui-normal:hsl(310, 32%, 75%); --ooui-normal--hover:hsl(310, 31%, 81%); --ooui-normal-border:hsl(310, 27%, 61%); --ooui-progressive:hsl(310, 17%, 32%); --ooui-progressive--hover:hsl(310, 17%, 42%); --ooui-input-border:hsl(310, 27%, 61%); --ooui-input-border--hover:hsl(310, 27%, 42%); --ooui-disabled:hsl(310, 11%, 79%); --ooui-disabled-border:hsl(310, 15%, 71%); --tile-border-color: hsl(310 31% 70% / 1); --tile-background-color: hsl(310 54% 95% / 1); --tile-link-button-color: hsl(310 57% 91% / 1); --tile-link-button-highlight-color: hsl(310 42% 78% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(310 11% 41% / 1); --tile-dark-link-color: hsl(0deg 0% 80%); --tile-dark-byline-color: hsl(310 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(40deg 28% 74%); --questdetails-header-background-alt: hsl(40deg 32% 72%); --transcript-background: hsl(40deg 32% 78%); --transcript-border-color: hsl(40deg 33% 56%); --transcript-border-hover-color: hsl(40deg 65% 32%); --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%235d4159' fill-rule='evenodd'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%235D5141' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%235d4159' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23933984' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23933984' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } 707d0465e655190355c2239b4475772f7d9a354d 1645 1644 2024-03-31T19:29:21Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(40deg 31% 84%); --body-light: hsl(40deg 32% 78%); --body-mid: hsl(40deg 38% 70%); --body-dark: hsl(40deg 28% 62%); --body-border: hsl(40deg 15% 50%); --body-background-color: hsl(40deg 32% 64%); --button-background: hsl(40 18% 32% / 1); --button-color: #fff; --button-border: hsl(40 33% 4% / 1); --button-dark: hsl(40deg 33% 7%); --button-light: hsl(40deg 33% 17%); --sidebar: hsl(40deg 41% 68%); --sidebar-text-color: hsl(0deg 0% 27%); --sidebar-link-color: hsl(40deg 48% 18%); --search-box: hsl(40deg 22% 92%); --link-color: hsl(40deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); --text-color: hsl(40deg 100% 4%); --byline-color: hsl(40deg 6% 38%); --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(40, 33%, 80%); --personal-links-bg: hsl(40deg 27% 78%); --ooui-normal:hsl(40, 32%, 75%); --ooui-normal--hover:hsl(40, 31%, 81%); --ooui-normal-border:hsl(40, 27%, 61%); --ooui-progressive:hsl(40, 17%, 32%); --ooui-progressive--hover:hsl(40, 17%, 42%); --ooui-input-border:hsl(40, 27%, 61%); --ooui-input-border--hover:hsl(40, 27%, 42%); --ooui-disabled:hsl(40, 11%, 79%); --ooui-disabled-border:hsl(40, 15%, 71%); --tile-border-color: hsl(40 31% 70% / 1); --tile-background-color: hsl(40 54% 95% / 1); --tile-link-button-color: hsl(40 57% 91% / 1); --tile-link-button-highlight-color: hsl(40 42% 78% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(40 11% 41% / 1); --tile-dark-link-color: hsl(0deg 0% 80%); --tile-dark-byline-color: hsl(40 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(40deg 28% 74%); --questdetails-header-background-alt: hsl(40deg 32% 72%); --transcript-background: hsl(40deg 32% 78%); --transcript-border-color: hsl(40deg 33% 56%); --transcript-border-hover-color: hsl(40deg 65% 32%); --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%235d4159' fill-rule='evenodd'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%235D5141' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%235d4159' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23933984' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23933984' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } 02817eaf888ed8e4fcb17193288c2beb2b1e870f 1646 1645 2024-03-31T19:35:35Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(36deg 31% 84%); --body-light: hsl(36deg 32% 78%); --body-mid: hsl(36deg 38% 70%); --body-dark: hsl(36deg 28% 62%); --body-border: hsl(36deg 15% 50%); --body-background-color: hsl(36deg 32% 64%); --button-background: hsl(36 18% 32% / 1); --button-color: #fff; --button-border: hsl(36 33% 4% / 1); --button-dark: hsl(36deg 33% 7%); --button-light: hsl(36deg 33% 17%); --sidebar: hsl(36deg 41% 68%); --sidebar-text-color: hsl(0deg 0% 27%); --sidebar-link-color: hsl(36deg 48% 18%); --search-box: hsl(36deg 22% 92%); --link-color: hsl(36deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); --text-color: hsl(36deg 100% 4%); --byline-color: hsl(36deg 6% 38%); --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(36, 33%, 80%); --personal-links-bg: hsl(36deg 27% 78%); --ooui-normal:hsl(36, 32%, 75%); --ooui-normal--hover:hsl(36, 31%, 81%); --ooui-normal-border:hsl(36, 27%, 61%); --ooui-progressive:hsl(36, 17%, 32%); --ooui-progressive--hover:hsl(36, 17%, 42%); --ooui-input-border:hsl(36, 27%, 61%); --ooui-input-border--hover:hsl(36, 27%, 42%); --ooui-disabled:hsl(36, 11%, 79%); --ooui-disabled-border:hsl(36, 15%, 71%); --tile-border-color: hsl(36 31% 70% / 1); --tile-background-color: hsl(36 54% 95% / 1); --tile-link-button-color: hsl(36 57% 91% / 1); --tile-link-button-highlight-color: hsl(36 42% 78% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(36 11% 41% / 1); --tile-dark-link-color: hsl(0deg 0% 80%); --tile-dark-byline-color: hsl(36 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(36deg 28% 74%); --questdetails-header-background-alt: hsl(36deg 32% 72%); --transcript-background: hsl(36deg 32% 78%); --transcript-border-color: hsl(36deg 33% 56%); --transcript-border-hover-color: hsl(36deg 65% 32%); --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%235d4159' fill-rule='evenodd'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%235D5141' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%235d4159' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23933984' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23933984' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } ea557298482ccf29bc66a431a9f6737110367c1f 1647 1646 2024-03-31T19:52:11Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(36deg 31% 84%); --body-light: hsl(36deg 32% 78%); --body-mid: hsl(36deg 38% 70%); --body-dark: hsl(36deg 28% 62%); --body-border: hsl(36deg 15% 50%); /*--body-background-color: hsl(36deg 32% 64%);*/ --button-background: hsl(36 18% 32% / 1); --button-color: #fff; --button-border: hsl(36 33% 4% / 1); --button-dark: hsl(36deg 33% 7%); --button-light: hsl(36deg 33% 17%); --sidebar: hsl(36deg 41% 68%); --sidebar-text-color: hsl(0deg 0% 27%); --sidebar-link-color: hsl(36deg 48% 18%); --search-box: hsl(36deg 22% 92%); --link-color: hsl(36deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); --text-color: hsl(36deg 100% 4%); --byline-color: hsl(36deg 6% 38%); --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(36, 33%, 80%); --personal-links-bg: hsl(36deg 27% 78%); --ooui-normal:hsl(36, 32%, 75%); --ooui-normal--hover:hsl(36, 31%, 81%); --ooui-normal-border:hsl(36, 27%, 61%); --ooui-progressive:hsl(36, 17%, 32%); --ooui-progressive--hover:hsl(36, 17%, 42%); --ooui-input-border:hsl(36, 27%, 61%); --ooui-input-border--hover:hsl(36, 27%, 42%); --ooui-disabled:hsl(36, 11%, 79%); --ooui-disabled-border:hsl(36, 15%, 71%); --tile-border-color: hsl(36 31% 70% / 1); --tile-background-color: hsl(36 54% 95% / 1); --tile-link-button-color: hsl(36 57% 91% / 1); --tile-link-button-highlight-color: hsl(36 42% 78% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(36 11% 41% / 1); --tile-dark-link-color: hsl(0deg 0% 80%); --tile-dark-byline-color: hsl(36 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(36deg 28% 74%); --questdetails-header-background-alt: hsl(36deg 32% 72%); --transcript-background: hsl(36deg 32% 78%); --transcript-border-color: hsl(36deg 33% 56%); --transcript-border-hover-color: hsl(36deg 65% 32%); --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%235d4159' fill-rule='evenodd'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%235D5141' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%235d4159' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23933984' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23933984' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } 571f38ae96b6ac8f423faacef0d0c4162b64b6e9 1648 1647 2024-03-31T19:53:36Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(30deg 31% 84%); --body-light: hsl(30deg 32% 78%); --body-mid: hsl(30deg 38% 70%); --body-dark: hsl(30deg 28% 62%); --body-border: hsl(30deg 15% 50%); /*--body-background-color: hsl(30deg 32% 64%);*/ --button-background: hsl(30 18% 32% / 1); --button-color: #fff; --button-border: hsl(30 33% 4% / 1); --button-dark: hsl(30deg 33% 7%); --button-light: hsl(30deg 33% 17%); --sidebar: hsl(30deg 41% 68%); --sidebar-text-color: hsl(0deg 0% 27%); --sidebar-link-color: hsl(30deg 48% 18%); --search-box: hsl(30deg 22% 92%); --link-color: hsl(30deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); --text-color: hsl(30deg 100% 4%); --byline-color: hsl(30deg 6% 38%); --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(30, 33%, 80%); --personal-links-bg: hsl(30deg 27% 78%); --ooui-normal:hsl(30, 32%, 75%); --ooui-normal--hover:hsl(30, 31%, 81%); --ooui-normal-border:hsl(30, 27%, 61%); --ooui-progressive:hsl(30, 17%, 32%); --ooui-progressive--hover:hsl(30, 17%, 42%); --ooui-input-border:hsl(30, 27%, 61%); --ooui-input-border--hover:hsl(30, 27%, 42%); --ooui-disabled:hsl(30, 11%, 79%); --ooui-disabled-border:hsl(30, 15%, 71%); --tile-border-color: hsl(30 31% 70% / 1); --tile-background-color: hsl(30 54% 95% / 1); --tile-link-button-color: hsl(30 57% 91% / 1); --tile-link-button-highlight-color: hsl(30 42% 78% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(30 11% 41% / 1); --tile-dark-link-color: hsl(0deg 0% 80%); --tile-dark-byline-color: hsl(30 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(30deg 28% 74%); --questdetails-header-background-alt: hsl(30deg 32% 72%); --transcript-background: hsl(30deg 32% 78%); --transcript-border-color: hsl(30deg 33% 56%); --transcript-border-hover-color: hsl(30deg 65% 32%); --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%235d4159' fill-rule='evenodd'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%235D5141' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%235d4159' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23933984' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23933984' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } 0b1ec57966c9324def1c51b113e4ee435124a546 1649 1648 2024-03-31T19:58:28Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(30deg 31% 95%); --body-light: hsl(30deg 32% 78%); --body-mid: hsl(30deg 38% 70%); --body-dark: hsl(30deg 28% 62%); --body-border: hsl(30deg 15% 50%); /*--body-background-color: hsl(30deg 32% 64%);*/ --button-background: hsl(30 18% 32% / 1); --button-color: #fff; --button-border: hsl(30 33% 4% / 1); --button-dark: hsl(30deg 33% 7%); --button-light: hsl(30deg 33% 17%); --sidebar: hsl(30deg 41% 68%); --sidebar-text-color: hsl(0deg 0% 27%); --sidebar-link-color: hsl(30deg 48% 18%); --search-box: hsl(30deg 22% 92%); --link-color: hsl(30deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); --text-color: hsl(30deg 100% 4%); --byline-color: hsl(30deg 6% 38%); --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(30, 33%, 80%); --personal-links-bg: hsl(30deg 27% 78%); --ooui-normal:hsl(30, 32%, 75%); --ooui-normal--hover:hsl(30, 31%, 81%); --ooui-normal-border:hsl(30, 27%, 61%); --ooui-progressive:hsl(30, 17%, 32%); --ooui-progressive--hover:hsl(30, 17%, 42%); --ooui-input-border:hsl(30, 27%, 61%); --ooui-input-border--hover:hsl(30, 27%, 42%); --ooui-disabled:hsl(30, 11%, 79%); --ooui-disabled-border:hsl(30, 15%, 71%); --tile-border-color: hsl(30 31% 70% / 1); --tile-background-color: hsl(30 54% 95% / 1); --tile-link-button-color: hsl(30 57% 91% / 1); --tile-link-button-highlight-color: hsl(30 42% 78% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(30 11% 41% / 1); --tile-dark-link-color: hsl(0deg 0% 80%); --tile-dark-byline-color: hsl(30 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(30deg 28% 74%); --questdetails-header-background-alt: hsl(30deg 32% 72%); --transcript-background: hsl(30deg 32% 78%); --transcript-border-color: hsl(30deg 33% 56%); --transcript-border-hover-color: hsl(30deg 65% 32%); --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%235d4159' fill-rule='evenodd'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%235D5141' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%235d4159' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23933984' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23933984' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } d3716ea6f8c998ffb39b6352859554c29eeca03f 1650 1649 2024-03-31T20:06:37Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(30deg 31% 95%); --body-light: hsl(30deg 32% 88%); --body-mid: hsl(30deg 38% 80%); --body-dark: hsl(30deg 28% 72%); --body-border: hsl(30deg 15% 60%); /*--body-background-color: hsl(30deg 32% 64%);*/ --button-background: hsl(30 18% 42% / 1); --button-color: #fff; --button-border: hsl(30 33% 14% / 1); --button-dark: hsl(30deg 33% 17%); --button-light: hsl(30deg 33% 27%); --sidebar: hsl(30deg 41% 78%); --sidebar-text-color: hsl(0deg 0% 37%); --sidebar-link-color: hsl(30deg 48% 28%); --search-box: hsl(30deg 22% 92%); --link-color: hsl(30deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); /*--text-color: hsl(30deg 100% 4%);*/ --byline-color: hsl(30deg 6% 38%); --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(30, 33%, 80%); --personal-links-bg: hsl(30deg 27% 78%); --ooui-normal:hsl(30, 32%, 85%); --ooui-normal--hover:hsl(30, 31%, 91%); --ooui-normal-border:hsl(30, 27%, 71%); --ooui-progressive:hsl(30, 17%, 42%); --ooui-progressive--hover:hsl(30, 17%, 52%); --ooui-input-border:hsl(30, 27%, 71%); --ooui-input-border--hover:hsl(30, 27%, 52%); --ooui-disabled:hsl(30, 11%, 89%); --ooui-disabled-border:hsl(30, 15%, 81%); --tile-border-color: hsl(30 31% 80% / 1); --tile-background-color: hsl(30 54% 100% / 1); --tile-link-button-color: hsl(30 57% 95% / 1); --tile-link-button-highlight-color: hsl(30 42% 88% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(30 11% 51% / 1); --tile-dark-link-color: hsl(0deg 0% 90%); --tile-dark-byline-color: hsl(30 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(30deg 28% 84%); --questdetails-header-background-alt: hsl(30deg 32% 82%); --transcript-background: hsl(30deg 32% 88%); --transcript-border-color: hsl(30deg 33% 66%); --transcript-border-hover-color: hsl(30deg 65% 42%); --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%235d4159' fill-rule='evenodd'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%235D5141' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%235d4159' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23933984' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23933984' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } 8785ed3fad2fb0899c91b6a9657ae13526b6ff24 1651 1650 2024-03-31T20:10:43Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(30deg 31% 95%); --body-light: hsl(30deg 32% 88%); --body-mid: hsl(30deg 38% 80%); --body-dark: hsl(30deg 28% 72%); --body-border: hsl(30deg 15% 60%); /*--body-background-color: hsl(30deg 32% 64%);*/ --button-background: hsl(30 18% 42% / 1); --button-color: #fff; --button-border: hsl(30 33% 14% / 1); --button-dark: hsl(30deg 33% 17%); --button-light: hsl(30deg 33% 27%); --sidebar: hsl(30deg 41% 78%); --sidebar-text-color: hsl(0deg 0% 37%); --sidebar-link-color: hsl(30deg 48% 28%); --search-box: hsl(30deg 22% 92%); --link-color: hsl(30deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); /*--text-color: hsl(30deg 100% 4%);*/ --byline-color: hsl(30deg 6% 38%); --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(30, 33%, 80%); --personal-links-bg: hsl(30deg 31% 95%); --ooui-normal:hsl(30, 32%, 85%); --ooui-normal--hover:hsl(30, 31%, 91%); --ooui-normal-border:hsl(30, 27%, 71%); --ooui-progressive:hsl(30, 17%, 42%); --ooui-progressive--hover:hsl(30, 17%, 52%); --ooui-input-border:hsl(30, 27%, 71%); --ooui-input-border--hover:hsl(30, 27%, 52%); --ooui-disabled:hsl(30, 11%, 89%); --ooui-disabled-border:hsl(30, 15%, 81%); --tile-border-color: hsl(30 31% 80% / 1); --tile-background-color: hsl(30 54% 100% / 1); --tile-link-button-color: hsl(30 57% 95% / 1); --tile-link-button-highlight-color: hsl(30 42% 88% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(30 11% 51% / 1); --tile-dark-link-color: hsl(0deg 0% 90%); --tile-dark-byline-color: hsl(30 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(30deg 28% 84%); --questdetails-header-background-alt: hsl(30deg 32% 82%); --transcript-background: hsl(30deg 32% 88%); --transcript-border-color: hsl(30deg 33% 66%); --transcript-border-hover-color: hsl(30deg 65% 42%); --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%235d4159' fill-rule='evenodd'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%235D5141' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%235d4159' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23933984' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23933984' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } 4f626a9ce56f001e9d7ac6ebdb9c3a714f082ea2 1652 1651 2024-03-31T20:12:20Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(30deg 31% 95%); --body-light: hsl(30deg 32% 88%); --body-mid: hsl(30deg 38% 80%); --body-dark: hsl(30deg 28% 72%); --body-border: hsl(30deg 15% 60%); /*--body-background-color: hsl(30deg 32% 64%);*/ --button-background: hsl(30 18% 42% / 1); --button-color: #fff; --button-border: hsl(30 33% 14% / 1); --button-dark: hsl(30deg 33% 17%); --button-light: hsl(30deg 33% 27%); --sidebar: hsl(30deg 41% 78%); --sidebar-text-color: hsl(0deg 0% 37%); --sidebar-link-color: hsl(30deg 48% 28%); --search-box: hsl(30deg 22% 92%); --link-color: hsl(30deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); /*--text-color: hsl(30deg 100% 4%);*/ /*--byline-color: hsl(30deg 6% 38%);*/ --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(30, 33%, 80%); --personal-links-bg: hsl(30deg 31% 95%); --ooui-normal:hsl(30, 32%, 85%); --ooui-normal--hover:hsl(30, 31%, 91%); --ooui-normal-border:hsl(30, 27%, 71%); --ooui-progressive:hsl(30, 17%, 42%); --ooui-progressive--hover:hsl(30, 17%, 52%); --ooui-input-border:hsl(30, 27%, 71%); --ooui-input-border--hover:hsl(30, 27%, 52%); --ooui-disabled:hsl(30, 11%, 89%); --ooui-disabled-border:hsl(30, 15%, 81%); --tile-border-color: hsl(30 31% 80% / 1); --tile-background-color: hsl(30 54% 100% / 1); --tile-link-button-color: hsl(30 57% 95% / 1); --tile-link-button-highlight-color: hsl(30 42% 88% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(30 11% 51% / 1); --tile-dark-link-color: hsl(0deg 0% 90%); --tile-dark-byline-color: hsl(30 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(30deg 28% 84%); --questdetails-header-background-alt: hsl(30deg 32% 82%); --transcript-background: hsl(30deg 32% 88%); --transcript-border-color: hsl(30deg 33% 66%); --transcript-border-hover-color: hsl(30deg 65% 42%); --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%235d4159' fill-rule='evenodd'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%235D5141' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%235d4159' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23933984' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23933984' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } 5b8dc2a170c61d65ea7ed81984d6b74c62e20a1f 1653 1652 2024-03-31T21:00:08Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(30deg 31% 95%); --body-light: hsl(30deg 32% 88%); --body-mid: hsl(30deg 38% 80%); --body-dark: hsl(30deg 28% 72%); --body-border: hsl(30deg 15% 60%); /*--body-background-color: hsl(30deg 32% 64%); */ --button-background: hsl(30 18% 42% / 1); --button-color: #fff; --button-border: hsl(30 33% 24% / 1); --button-dark: hsl(30deg 33% 27%); --button-light: hsl(30deg 33% 37%); --sidebar: hsl(30deg 41% 78%); --sidebar-text-color: hsl(0deg 0% 37%); --sidebar-link-color: hsl(30deg 48% 28%); --search-box: hsl(30deg 22% 92%); --link-color: hsl(30deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); /*--text-color: hsl(30deg 100% 4%); */ /*--byline-color: hsl(30deg 6% 38%); */ --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(30, 33%, 80%); --personal-links-bg: hsl(30deg 31% 95%); --ooui-normal:hsl(30, 32%, 85%); --ooui-normal--hover:hsl(30, 31%, 91%); --ooui-normal-border:hsl(30, 27%, 71%); --ooui-progressive:hsl(30, 17%, 42%); --ooui-progressive--hover:hsl(30, 17%, 52%); --ooui-input-border:hsl(30, 27%, 71%); --ooui-input-border--hover:hsl(30, 27%, 52%); --ooui-disabled:hsl(30, 11%, 89%); --ooui-disabled-border:hsl(30, 15%, 81%); --tile-border-color: hsl(30 31% 80% / 1); --tile-background-color: hsl(30 54% 100% / 1); --tile-link-button-color: hsl(30 57% 95% / 1); --tile-link-button-highlight-color: hsl(30 42% 88% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(30 11% 51% / 1); --tile-dark-link-color: hsl(0deg 0% 90%); --tile-dark-byline-color: hsl(30 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(30deg 28% 84%); --questdetails-header-background-alt: hsl(30deg 32% 82%); --transcript-background: hsl(30deg 32% 88%); --transcript-border-color: hsl(30deg 33% 66%); --transcript-border-hover-color: hsl(30deg 65% 42%); --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%235d4159' fill-rule='evenodd'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%235D5141' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%235d4159' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23933984' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23933984' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } 6a499d99041d6ecc594a7a2b33938210dcb3997f User:Merds/CSS/Theme.css 2 806 1654 1653 2024-03-31T21:50:26Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(30deg 31% 99%); --body-light: hsl(30deg 32% 88%); --body-mid: hsl(30deg 38% 80%); --body-dark: hsl(30deg 28% 72%); --body-border: hsl(30deg 15% 60%); /*--body-background-color: hsl(30deg 32% 64%); */ --button-background: hsl(30 18% 42% / 1); --button-color: #fff; --button-border: hsl(30 33% 24% / 1); --button-dark: hsl(30deg 33% 27%); --button-light: hsl(30deg 33% 37%); --sidebar: hsl(30deg 41% 78%); --sidebar-text-color: hsl(0deg 0% 37%); --sidebar-link-color: hsl(30deg 48% 28%); --search-box: hsl(30deg 22% 92%); --link-color: hsl(30deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); /*--text-color: hsl(30deg 100% 4%); */ /*--byline-color: hsl(30deg 6% 38%); */ --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(30, 33%, 90%); --personal-links-bg: hsl(30deg 31% 95%); --ooui-normal: hsl(30, 32%, 75%); --ooui-normal--hover: hsl(30, 52%, 80%); --ooui-normal-border: hsl(30, 32%, 71%); --ooui-progressive: hsl(30, 37%, 42%); --ooui-progressive--hover: hsl(30, 37%, 52%); --ooui-input-border:hsl(30, 27%, 71%); --ooui-input-border--hover:hsl(30, 27%, 52%); --ooui-disabled:hsl(30, 11%, 89%); --ooui-disabled-border:hsl(30, 15%, 81%); --tile-border-color: hsl(30 31% 80% / 1); --tile-background-color: hsl(30 32% 88% / 1); --tile-link-button-color: hsl(30 57% 95% / 1); --tile-link-button-highlight-color: hsl(30 42% 88% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(30 11% 51% / 1); --tile-dark-link-color: hsl(0deg 0% 90%); --tile-dark-byline-color: hsl(30 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(30deg 28% 84%); --questdetails-header-background-alt: hsl(30deg 32% 82%); --transcript-background: hsl(30deg 32% 88%); --transcript-border-color: hsl(30deg 33% 66%); --transcript-border-hover-color: hsl(30deg 65% 42%); --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%235d4159' fill-rule='evenodd'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%235D5141' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%235d4159' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23933984' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23933984' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } 1c020f9ac42d168ac4df899b927e4cb9699a5813 1655 1654 2024-03-31T23:10:09Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(30deg 31% 99%); --body-light: hsl(30deg 32% 94%); --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; /*--body-background-color: hsl(30deg 32% 64%); */ --button-background: hsl(30 18% 42% / 1); --button-color: #fff; --button-border: hsl(30 33% 24% / 1); --button-dark: hsl(30deg 33% 27%); --button-light: hsl(30deg 33% 37%); --sidebar: hsl(30deg 41% 78%); --sidebar-text-color: hsl(0deg 0% 37%); --sidebar-link-color: hsl(30deg 48% 28%); --search-box: hsl(30deg 22% 92%); --link-color: hsl(30deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); /*--text-color: hsl(30deg 100% 4%); */ /*--byline-color: hsl(30deg 6% 38%); */ --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(30, 33%, 90%); --personal-links-bg: hsl(30deg 31% 95%); --ooui-normal: hsl(30, 32%, 75%); --ooui-normal--hover: hsl(30, 52%, 80%); --ooui-normal-border: hsl(30, 32%, 71%); --ooui-progressive: hsl(30, 37%, 42%); --ooui-progressive--hover: hsl(30, 37%, 52%); --ooui-input-border:hsl(30, 27%, 71%); --ooui-input-border--hover:hsl(30, 27%, 52%); --ooui-disabled:hsl(30, 11%, 89%); --ooui-disabled-border:hsl(30, 15%, 81%); --tile-border-color: hsl(30 31% 80% / 1); --tile-background-color: hsl(30 32% 88% / 1); --tile-link-button-color: hsl(30 57% 95% / 1); --tile-link-button-highlight-color: hsl(30 42% 88% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(30 11% 51% / 1); --tile-dark-link-color: hsl(0deg 0% 90%); --tile-dark-byline-color: hsl(30 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(30deg 28% 84%); --questdetails-header-background-alt: hsl(30deg 32% 82%); --transcript-background: hsl(30deg 32% 88%); --transcript-border-color: hsl(30deg 33% 66%); --transcript-border-hover-color: hsl(30deg 65% 42%); --echo-icon-moon-bg-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg height='21' viewBox='0 0 21 21' width='21' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m8.85464918.37900488c-1.91149353 1.51069427-3.13816124 3.84973402-3.13816124 6.47527736 0 4.55564936 3.69308349 8.24873286 8.24873286 8.24873286 2.5815709 0 4.8861545-1.1859235 6.3986798-3.0426994-.8206378 4.7389755-4.9523867 8.343122-9.9259291 8.343122-5.56375572 0-10.07407088-4.5103151-10.07407088-10.0740709 0-5.02506013 3.67919933-9.19079725 8.49074856-9.95036192z' fill='%235d4159' fill-rule='evenodd'/%3E%3C/svg%3E"); --echo-icon-person-bg-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2213.836%22 viewBox=%220 0 12 13.836%22%3E %3Cpath fill='%235D5141' d=%22M1.938%2C6.656c-1.32%2C1.485-1.47%2C3.15-0.97%2C4.25c0.323%2C0.707%2C0.78%2C1.127%2C1.313%2C1.375 c0.496%2C0.229%2C1.074%2C0.273%2C1.658%2C0.282c0.023%2C0%2C0.04%2C0.03%2C0.062%2C0.03h4.187c0.61%2C0%2C1.225-0.125%2C1.75-0.405 c0.527-0.28%2C0.961-0.718%2C1.188-1.376c0.335-0.964%2C0.175-2.529-1.094-4.03C9.094%2C7.954%2C7.68%2C8.719%2C6.065%2C8.719 c-1.677%2C0-3.182-0.812-4.125-2.063H1.938z%22/%3E %3Cpath fill='%235d4159' d=%22M6.063%2C0c-1.89%2C0-3.595%2C1.674-3.594%2C3.563C2.467%2C5.45%2C4.173%2C7.155%2C6.06%2C7.155 c1.89%2C0%2C3.564-1.705%2C3.563-3.593C9.625%2C1.673%2C7.95%2C0%2C6.063%2C0L6.063%2C0z%22/%3E %3C/svg%3E"); --watch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='transparent' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --unwatch-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%23933984' stroke='%23933984' stroke-width='.8' d='m8.1 1.1 2.2 4.5 4.8.7-3.5 3.4.9 4.8L8 12.2l-4.3 2.3.8-4.8L1 6.3l4.8-.7z'/%3E%3C/svg%3E%0A"); --external-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23933984' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); } 5a6adff338d75d38d069abec6100c71e483adcc9 1657 1655 2024-03-31T23:19:54Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(23deg 31% 99%); --body-light: hsl(23deg 32% 94%); --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; /*--body-background-color: hsl(23deg 32% 64%); */ --button-background: hsl(23 18% 42% / 1); --button-color: #fff; --button-border: hsl(23 33% 24% / 1); --button-dark: hsl(23deg 33% 27%); --button-light: hsl(23deg 33% 37%); --sidebar: hsl(23deg 41% 78%); --sidebar-text-color: hsl(0deg 0% 37%); --sidebar-link-color: hsl(23deg 48% 28%); --search-box: hsl(23deg 22% 92%); --link-color: hsl(23deg 44% 40%); --redlink-color: hsl(0deg 100% 36%); /*--text-color: hsl(23deg 100% 4%); */ /*--byline-color: hsl(23deg 6% 38%); */ --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(23, 33%, 90%); --personal-links-bg: hsl(23deg 31% 95%); --ooui-normal: hsl(23, 32%, 75%); --ooui-normal--hover: hsl(23, 52%, 80%); --ooui-normal-border: hsl(23, 32%, 71%); --ooui-progressive: hsl(23, 37%, 42%); --ooui-progressive--hover: hsl(23, 37%, 52%); --ooui-input-border:hsl(23, 27%, 71%); --ooui-input-border--hover:hsl(23, 27%, 52%); --ooui-disabled:hsl(23, 11%, 89%); --ooui-disabled-border:hsl(23, 15%, 81%); --tile-border-color: hsl(23 31% 80% / 1); --tile-background-color: hsl(23 32% 88% / 1); --tile-link-button-color: hsl(23 57% 95% / 1); --tile-link-button-highlight-color: hsl(23 42% 88% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(23 11% 51% / 1); --tile-dark-link-color: hsl(0deg 0% 90%); --tile-dark-byline-color: hsl(23 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(23deg 28% 84%); --questdetails-header-background-alt: hsl(23deg 32% 82%); --transcript-background: hsl(23deg 32% 88%); --transcript-border-color: hsl(23deg 33% 66%); --transcript-border-hover-color: hsl(23deg 65% 42%); } 56117f3399668a2826c6e02260347c0eac92b3b3 1659 1657 2024-03-31T23:26:29Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(23deg 31% 99%); --body-light: hsl(23deg 32% 94%); --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; /*--body-background-color: hsl(23deg 32% 64%); */ --button-background: hsl(23 18% 42% / 1); --button-color: #fff; --button-border: hsl(23 33% 24% / 1); --button-dark: hsl(23deg 33% 27%); --button-light: hsl(23deg 33% 37%); --sidebar: hsl(23deg 41% 78%); --sidebar-text-color: hsl(0deg 0% 37%); --sidebar-link-color: hsl(23deg 48% 28%); --search-box: hsl(23deg 22% 92%); --link-color: hsl(23deg 44% 30%); --redlink-color: hsl(0deg 100% 36%); /*--text-color: hsl(23deg 100% 4%); */ /*--byline-color: hsl(23deg 6% 38%); */ --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: hsl(23, 33%, 90%); --personal-links-bg: hsl(23deg 31% 95%); --ooui-normal: hsl(23, 32%, 75%); --ooui-normal--hover: hsl(23, 52%, 80%); --ooui-normal-border: hsl(23, 32%, 71%); --ooui-progressive: hsl(23, 37%, 42%); --ooui-progressive--hover: hsl(23, 37%, 52%); --ooui-input-border:hsl(23, 27%, 71%); --ooui-input-border--hover:hsl(23, 27%, 52%); --ooui-disabled:hsl(23, 11%, 89%); --ooui-disabled-border:hsl(23, 15%, 81%); --tile-border-color: hsl(23 31% 80% / 1); --tile-background-color: hsl(23 32% 88% / 1); --tile-link-button-color: hsl(23 57% 95% / 1); --tile-link-button-highlight-color: hsl(23 42% 88% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(23 11% 51% / 1); --tile-dark-link-color: hsl(0deg 0% 90%); --tile-dark-byline-color: hsl(23 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(23deg 28% 84%); --questdetails-header-background-alt: hsl(23deg 32% 82%); --transcript-background: hsl(23deg 32% 88%); --transcript-border-color: hsl(23deg 33% 66%); --transcript-border-hover-color: hsl(23deg 65% 42%); } 289a0e0e59898b139f42fab495dff4fdd02923c3 1661 1659 2024-03-31T23:33:42Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: hsl(23deg 31% 99%); --body-light: hsl(23deg 32% 94%); --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; /*--body-background-color: hsl(23deg 32% 64%); */ --button-background: hsl(23 18% 42% / 1); --button-color: #fff; --button-border: hsl(23 33% 24% / 1); --button-dark: hsl(23deg 33% 27%); --button-light: hsl(23deg 33% 37%); --sidebar: hsl(23deg 41% 78%); --sidebar-text-color: hsl(0deg 0% 37%); --sidebar-link-color: hsl(23deg 48% 28%); --search-box: hsl(23deg 22% 92%); --link-color: hsl(23deg 44% 30%); --redlink-color: hsl(0deg 100% 36%); /*--text-color: hsl(23deg 100% 4%); */ /*--byline-color: hsl(23deg 6% 38%); */ --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: var(--body-light); --personal-links-bg: hsl(23deg 31% 95%); --ooui-normal: hsl(23, 32%, 75%); --ooui-normal--hover: hsl(23, 52%, 80%); --ooui-normal-border: hsl(23, 32%, 71%); --ooui-progressive: hsl(23, 37%, 42%); --ooui-progressive--hover: hsl(23, 37%, 52%); --ooui-input-border:hsl(23, 27%, 71%); --ooui-input-border--hover:hsl(23, 27%, 52%); --ooui-disabled:hsl(23, 11%, 89%); --ooui-disabled-border:hsl(23, 15%, 81%); --tile-border-color: hsl(23 31% 80% / 1); --tile-background-color: hsl(23 32% 88% / 1); --tile-link-button-color: hsl(23 57% 95% / 1); --tile-link-button-highlight-color: hsl(23 42% 88% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(23 11% 51% / 1); --tile-dark-link-color: hsl(0deg 0% 90%); --tile-dark-byline-color: hsl(23 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(23deg 28% 84%); --questdetails-header-background-alt: hsl(23deg 32% 82%); --transcript-background: hsl(23deg 32% 88%); --transcript-border-color: hsl(23deg 33% 66%); --transcript-border-hover-color: hsl(23deg 65% 42%); } c530ce461042dea58adfe2363e5e50e2a3ceec2b 1672 1661 2024-03-31T23:53:31Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; /*--body-background-color: hsl(23deg 32% 64%); */ --button-background: hsl(23 18% 42% / 1); --button-color: #fff; --button-border: hsl(23 33% 24% / 1); --button-dark: hsl(23deg 33% 27%); --button-light: hsl(23deg 33% 37%); --sidebar: hsl(23deg 41% 78%); --sidebar-text-color: hsl(0deg 0% 37%); --sidebar-link-color: hsl(23deg 48% 28%); --search-box: hsl(23deg 22% 92%); --link-color: hsl(23deg 44% 30%); --redlink-color: hsl(0deg 100% 36%); /*--text-color: hsl(23deg 100% 4%); */ /*--byline-color: hsl(23deg 6% 38%); */ --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: var(--body-light); --personal-links-bg: hsl(23deg 31% 95%); --ooui-normal: #d4baab; --ooui-normal--hover: hsl(23, 52%, 80%); --ooui-normal-border: #cdb09d; --ooui-progressive: #936243; --ooui-progressive--hover: hsl(23, 37%, 52%); --ooui-input-border:hsl(23, 27%, 71%); --ooui-input-border--hover:hsl(23, 27%, 52%); --ooui-disabled:hsl(23, 11%, 89%); --ooui-disabled-border:hsl(23, 15%, 81%); --tile-border-color: hsl(23 31% 80% / 1); --tile-background-color: hsl(23 32% 88% / 1); --tile-link-button-color: hsl(23 57% 95% / 1); --tile-link-button-highlight-color: hsl(23 42% 88% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(23 11% 51% / 1); --tile-dark-link-color: hsl(0deg 0% 90%); --tile-dark-byline-color: hsl(23 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(23deg 28% 84%); --questdetails-header-background-alt: hsl(23deg 32% 82%); --transcript-background: hsl(23deg 32% 88%); --transcript-border-color: hsl(23deg 33% 66%); --transcript-border-hover-color: hsl(23deg 65% 42%); } 89e7315a2eeb98cb7fbd6448a34f38261f8189d5 1676 1672 2024-04-01T00:06:03Z Merds 25 css text/css /* this needs a background pic!!! */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; /*--body-background-color: hsl(23deg 32% 64%); */ --button-background: hsl(23 18% 42% / 1); --button-color: #fff; --button-border: hsl(23 33% 24% / 1); --button-dark: hsl(23deg 33% 27%); --button-light: hsl(23deg 33% 37%); --sidebar: hsl(23deg 41% 78%); --sidebar-text-color: hsl(0deg 0% 37%); --sidebar-link-color: hsl(23deg 48% 28%); --search-box: hsl(23deg 22% 92%); --link-color: hsl(23deg 44% 30%); --redlink-color: hsl(0deg 100% 36%); /*--text-color: hsl(23deg 100% 4%); */ /*--byline-color: hsl(23deg 6% 38%); */ --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --mw-code-background-color: var(--body-light); --personal-links-bg: hsl(23deg 31% 95%); --ooui-normal: #d1b9ad; --ooui-normal--hover: hsl(23, 52%, 80%); --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: hsl(23, 37%, 52%); --ooui-input-border:hsl(23, 27%, 71%); --ooui-input-border--hover:hsl(23, 27%, 52%); --ooui-disabled:hsl(23, 11%, 89%); --ooui-disabled-border:hsl(23, 15%, 81%); --tile-border-color: hsl(23 31% 80% / 1); --tile-background-color: hsl(23 32% 88% / 1); --tile-link-button-color: hsl(23 57% 95% / 1); --tile-link-button-highlight-color: hsl(23 42% 88% / 1); --tile-dark-color: #fff; --tile-dark-bg: hsl(23 11% 51% / 1); --tile-dark-link-color: hsl(0deg 0% 90%); --tile-dark-byline-color: hsl(23 0% 100% / 0.7); --tile-dark-header-color: #fff; --questdetails-header-background: hsl(23deg 28% 84%); --questdetails-header-background-alt: hsl(23deg 32% 82%); --transcript-background: hsl(23deg 32% 88%); --transcript-border-color: hsl(23deg 33% 66%); --transcript-border-hover-color: hsl(23deg 65% 42%); } 56efd56a79e4c71a20b73b9dc7dd1bbe1e644661 User:Merds/Sandbox 2 652 1656 1583 2024-03-31T23:19:45Z Merds 25 wikitext text/x-wiki This page contains information about the '''look of the Brighter Shores Wiki'''. ==Colours== <div class="color-container"> <div class="color-column"> <h3>Body</h3> <div class="color-group" style="background: #d1b9ad;"> <p class="variable">--body-border</p> <p class="hexcode">#d1b9ad</p> </div> <div class="color-group dark" style="background: #b1886f;"> <p class="variable">--body-dark</p> <p class="hexcode">#b1886f</p> </div> <div class="color-group" style="background: #d1b9ad;"> <p class="variable">--body-mid</p> <p class="hexcode">#d1b9ad</p> </div> <div class="color-group" style="background: #f5f0eb;"> <p class="variable">--body-light</p> <p class="hexcode">#f5f0eb</p> </div> <div class="color-group" style="background: #fdfcfc;"> <p class="variable">--body-main</p> <p class="hexcode">#fdfcfc</p> </div> <div class="color-group dark" style="background: #173a4d;"> <p class="variable">--body-background-color</p> <p class="hexcode">#173a4d</p> </div> </div> <div class="color-column"> <h3>Buttons and links</h3> <div class="color-group dark" style="background: #3c352a;;"> <p class="variable">--button-border</p> <p class="hexcode">#3c352a;</p> </div> <div class="color-group dark" style="background: #18140c;"> <p class="variable">--button-dark</p> <p class="hexcode">#18140c</p> </div> <div class="color-group dark" style="background: #3a301d;"> <p class="variable">--button-light</p> <p class="hexcode">#3a301d</p> </div> <div class="color-group dark" style="background: #605443;"> <p class="variable">--osrsw-brown</p> <p class="hexcode">#605443</p> </div> <div class="color-group dark" style="background: #936039;"> <p class="variable">--link-color</p> <p class="hexcode">#936039</p> </div> <div class="color-group dark" style="background: #52351e;"> <p class="variable">--background-link-color</p> <p class="hexcode">#52351e</p> </div> </div> c68f0c833c5e7dd9f7a32920287e2ef4c0f1c701 1665 1656 2024-03-31T23:43:43Z Merds 25 wikitext text/x-wiki This page contains information about the '''look of the Brighter Shores Wiki'''. ==Colours== <div class="color-container"> <div class="color-column"> <h3>Body</h3> <div class="color-group" style="background: #d1b9ad;"> <p class="variable">--body-border</p> <p class="hexcode">#d1b9ad</p> </div> <div class="color-group dark" style="background: #b1886f;"> <p class="variable">--body-dark</p> <p class="hexcode">#b1886f</p> </div> <div class="color-group" style="background: #d1b9ad;"> <p class="variable">--body-mid</p> <p class="hexcode">#d1b9ad</p> </div> <div class="color-group" style="background: #f5f0eb;"> <p class="variable">--body-light</p> <p class="hexcode">#f5f0eb</p> </div> <div class="color-group" style="background: #fdfcfc;"> <p class="variable">--body-main</p> <p class="hexcode">#fdfcfc</p> </div> <div class="color-group dark" style="background: #173a4d;"> <p class="variable">--body-background-color</p> <p class="hexcode">#173a4d</p> </div> </div> <div class="color-column"> <h3>Buttons and links</h3> <div class="color-group dark" style="background: #3c352a;;"> <p class="variable">--button-border</p> <p class="hexcode">#3c352a;</p> </div> <div class="color-group dark" style="background: #18140c;"> <p class="variable">--button-dark</p> <p class="hexcode">#18140c</p> </div> <div class="color-group dark" style="background: #3a301d;"> <p class="variable">--button-light</p> <p class="hexcode">#3a301d</p> </div> <div class="color-group dark" style="background: #605443;"> <p class="variable">--osrsw-brown</p> <p class="hexcode">#605443</p> </div> <div class="color-group dark" style="background: #6e452b;"> <p class="variable">--link-color</p> <p class="hexcode">#6e452b</p> </div> <div class="color-group dark" style="background: #52351e;"> <p class="variable">--background-link-color</p> <p class="hexcode">#52351e</p> </div> </div> 76216bb8cc2c5acee091a927dd5a84c108d33b94 MediaWiki:Common.less/infobox.less 8 26 1658 1622 2024-03-31T23:21:52Z Merds 25 less less :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } /* Infobox */ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: @white; } } tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: @white; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox-image { text-align: center; } .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: @white; } .infobox-padding { backgound: var(--table-body); } tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } } .hidden { display: none; } bc9076ac4ca7502a335fd7fc0d1d63993badb05c 1698 1658 2024-04-02T12:09:43Z Gau Cho 5 .button-selected, .select less less :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } /* Infobox */ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: @white; } .button.button-selected { background: var(--table-subheader); } } tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: @white; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox-image { text-align: center; } .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: @white; } .infobox-padding { backgound: var(--table-body); } tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } select { max-width: 300px; } } .hidden { display: none; } 457527c0a75067283d864eb538d26f969c0b64ee 1701 1698 2024-04-02T14:38:19Z Gau Cho 5 Swapping button colors less less :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } /* Infobox */ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; .button { background: var(--table-subheader); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: @white; } .button.button-selected { background: var(--table-header); } } tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: @white; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox-image { text-align: center; } .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: @white; } .infobox-padding { backgound: var(--table-body); } tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } select { max-width: 300px; } } .hidden { display: none; } 3a4e1578a5aa8dbcce917464faba91bbe0fd392e MediaWiki:Common.css 8 30 1660 1623 2024-03-31T23:27:54Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #feffff; --body-light: #fff8ee; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #e9d8cc; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #936039; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--byline-color); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--text-color); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: #937040 !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: #937040 !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 432d3f2c6e20ce1455ee06071d9603a83f44ebd9 1667 1660 2024-03-31T23:44:12Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: #ddd4bb; --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } f82eb760d068502cbfa5de0adcbd4b19d2eac731 1669 1667 2024-03-31T23:49:12Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d5c7ad; --ooui-normal--hover: #dfd5c1; --ooui-normal-border: #b8a282; --ooui-progressive: #605443; --ooui-progressive--hover: #7e6e58; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #b8a282; --ooui-input-border--hover: #8a724f; --ooui-disabled: #d1cdc5; --ooui-disabled-border: #c2b9ab; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } b3d45b5cd7c271d86482e393d30de4910b221efb 1671 1669 2024-03-31T23:53:15Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #d1b4a4; --ooui-normal--hover: #dbc5b8; --ooui-normal-border: #cdb09d; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #cdb09d; --ooui-input-border--hover: #ac7c5d; --ooui-disabled: #ccc3bd; --ooui-disabled-border: #d8ccc5; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } f0775d8e3033cb920e80a27c57e00f97610909b3 1678 1671 2024-04-01T01:02:08Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #c9c3bf; --ooui-disabled-border: #dfd6d2; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .navbox .navbox-title { color: #fff; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 210f00beecc913977f78700553455bf417316b37 1682 1678 2024-04-01T01:05:06Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #c9c3bf; --ooui-disabled-border: #dfd6d2; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .navbox .navbox-title { color: #fff; } .navbox .navbox-list:not(last-child) { border-bottom: none; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: #5d6773; --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; border: 1px solid var(--tile-border-color); background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--byline-color); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); border-top: 1px solid var(--tile-border-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } f34d0078a10f318062ba49a667ebf9dd5226b71b 1685 1682 2024-04-01T01:21:00Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #c9c3bf; --ooui-disabled-border: #dfd6d2; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .navbox .navbox-title { color: #fff; } .navbox .navbox-list:not(last-child) { border-bottom: none; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-dark); --tile-background-color: var(--body-dark); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: var(--body-dark); --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--tile-background-color); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom h2 a { color: #fff; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 67e2835b2214e1a251472c0b68a90f2f55e25208 1688 1685 2024-04-01T01:24:35Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #c9c3bf; --ooui-disabled-border: #dfd6d2; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .navbox .navbox-title { color: #fff; } .navbox .navbox-list:not(last-child) { border-bottom: none; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: var(--body-dark); --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom h2 a { color: #fff; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } bedf03ddd56bd49e10f8af115bc432b7bc3b0c81 1692 1688 2024-04-01T01:27:50Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #c9c3bf; --ooui-disabled-border: #dfd6d2; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .navbox .navbox-title { color: #fff; } .navbox .navbox-list:not(last-child) { border-bottom: none; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: var(--body-dark); --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom h2 a { color: #fff !important; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } e2040a54f645a836ed6ec4fb630ce38058de07d2 1699 1692 2024-04-02T12:10:03Z Gau Cho 5 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #c9c3bf; --ooui-disabled-border: #dfd6d2; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .navbox .navbox-title { color: #fff; } .navbox .navbox-list:not(last-child) { border-bottom: none; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-header); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox .infobox-buttons .button.button-selected { background: var(--table-subheader); } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .infobox select { max-width: 300px; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: var(--body-dark); --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom h2 a { color: #fff !important; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } dc7fc587f669bba527e51127f6c9b8396f7b40a6 1702 1699 2024-04-02T14:38:32Z Gau Cho 5 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #c9c3bf; --ooui-disabled-border: #dfd6d2; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .navbox .navbox-title { color: #fff; } .navbox .navbox-list:not(last-child) { border-bottom: none; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-subheader); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox .infobox-buttons .button.button-selected { background: var(--table-header); } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .infobox select { max-width: 300px; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: var(--body-dark); --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom h2 a { color: #fff !important; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 3a17aac62b689339bbd52445aeff1df9018398a4 MediaWiki:Common.less/interface.less 8 16 1662 1124 2024-03-31T23:37:41Z Merds 25 less less /* ===================== Common MediaWiki elements inside .mw-body ===================== */ :root { --errorbox-bg: @bridesmaid; --errorbox-border: @flamingo; --warningbox-bg: @half-dutch; --warningbox-border: @supernova; --successbox-bg: @frost; --successbox-border: @lima; } // core mw messagebox .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, // anon talk page message alert .usermessage { box-shadow: @box-shadow; } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: @box-shadow; li { border-color: var(--body-mid); } } // checkered background in file pages .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } // Prevents undesired background showing when next to expanded toc .mw-highlight { background: none; .linenos { background-color: var(--mw-code-background-color); // line number color: var(--body-border); } // line number hover a:hover .linenos, .hll a .linenos { color: var(--body-dark); } } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } // page history #pagehistory { ul { list-style: none; margin: 0; } li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; &.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } } } // Sticky compare rev #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid @BODY_DARK; padding: .25em 0; .wgl-stickyheader & { top: 2.5rem; // = height of stickyheader } } // auto section edit summaries .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } // revdeleted logs: "(log details removed)" li span.deleted, span.history-deleted { color: var(--byline-color); } // redlinked contribs page for users without edits .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } /* -------------------------------------- fix section heading being hidden underneath sticky header -------------------------------------- */ // technique from <https://css-tricks.com/hash-tag-links-padding/> body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } /* ------------------------ MultimediaViewer ------------------------*/ // main lightbox .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } // metadata panel .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } // download box and etc .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } // activation box header .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } // use consistent text color for all for simplicity .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, // activation box .mw-mmv-options-enable-alert, // deactivation box .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } /* ------------------------ RevisionSlider ------------------------*/ .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } /* ------------------------ mediawiki.ui ------------------------*/ .mw-ui { &-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); &:not(:disabled) { &:hover, &:active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent),inset 0 0 0 2px #fff; } // there's an override for it &:visited { color: var(--ooui-text); } } &.mw-ui-progressive { &:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); &:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent),inset 0 0 0 2px #fff; } &:active, &.is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } } } } // a lot of these need to be redefined since they have the same specificity // as the above &-button&-destructive:not( :disabled ) { color: #fff; } &-button&-quiet, &-button&-quiet&-progressive, &-button&-quiet&-destructive { // background-color: transparent; color: var(--text-color); } input[type='checkbox']:hover + &-button&-quiet, input[type='checkbox']:hover + &-button&-quiet&-progressive, input[type='checkbox']:hover + &-button&-quiet&-destructive, &-button&-quiet:hover, &-button&-quiet&-progressive:hover, &-button&-quiet&-destructive:hover { background-color: rgba(0,24,73,0.02745098); color: var(--text-color); border-color: transparent } input[type='checkbox']:focus + &-button&-quiet, input[type='checkbox']:focus + &-button&-quiet&-progressive, input[type='checkbox']:focus + &-button&-quiet&-destructive, &-button&-quiet:focus, &-button&-quiet&-progressive:focus, &-button&-quiet&-destructive:focus { color: var(--text-color); // border-color: #36c; // box-shadow: inset 0 0 0 1px #36c,inset 0 0 0 2px #fff } input[type='checkbox']:active + &-button&-quiet, input[type='checkbox']:active + &-button&-quiet&-progressive, input[type='checkbox']:active + &-button&-quiet&-destructive, &-button&-quiet:active, &-button&-quiet&-progressive:active, &-button&-quiet&-destructive:active { background-color: rgba(0,36,73,0.08235294); color: var(--text-color); border-color: #72777d; // box-shadow: none } &-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); &:hover { border-color: var(--ooui-input-border--hover); } &::placeholder { color: var(--byline-color); } } } /* ------------------------ Redirects ------------------------*/ // convert to mask .mw-content-ltr .redirectText li { &:first-child { padding: 0; background: 0; &::before { content:''; background: currentcolor; .mask("filepath://Redirect-arrow.svg"); display: inline-block; width: 47px; height: 20px; } } } /* ------------------------------------------------------------- HEADER bits because I'm not sure where I can put this ------------------------------------------------------------ */ /* Search bar */ .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0,0,0,0.15) !important; } /* "More" button */ .vector-menu-dropdown { .vector-menu-heading { color: #937040 !important; &:hover { color: #937040 !important; } &:focus { color: #937040 !important; } } } 1a14978ac3499fa028d25b581041131ec4d37ccb 1663 1662 2024-03-31T23:39:58Z Merds 25 less less /* ===================== Common MediaWiki elements inside .mw-body ===================== */ :root { --errorbox-bg: @bridesmaid; --errorbox-border: @flamingo; --warningbox-bg: @half-dutch; --warningbox-border: @supernova; --successbox-bg: @frost; --successbox-border: @lima; } // core mw messagebox .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, // anon talk page message alert .usermessage { box-shadow: @box-shadow; } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: @box-shadow; li { border-color: var(--body-mid); } } // checkered background in file pages .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } // Prevents undesired background showing when next to expanded toc .mw-highlight { background: none; .linenos { background-color: var(--mw-code-background-color); // line number color: var(--body-border); } // line number hover a:hover .linenos, .hll a .linenos { color: var(--body-dark); } } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } // page history #pagehistory { ul { list-style: none; margin: 0; } li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; &.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } } } // Sticky compare rev #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid @BODY_DARK; padding: .25em 0; .wgl-stickyheader & { top: 2.5rem; // = height of stickyheader } } // auto section edit summaries .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } // revdeleted logs: "(log details removed)" li span.deleted, span.history-deleted { color: var(--byline-color); } // redlinked contribs page for users without edits .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } /* -------------------------------------- fix section heading being hidden underneath sticky header -------------------------------------- */ // technique from <https://css-tricks.com/hash-tag-links-padding/> body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } /* ------------------------ MultimediaViewer ------------------------*/ // main lightbox .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } // metadata panel .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } // download box and etc .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } // activation box header .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } // use consistent text color for all for simplicity .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, // activation box .mw-mmv-options-enable-alert, // deactivation box .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } /* ------------------------ RevisionSlider ------------------------*/ .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } /* ------------------------ mediawiki.ui ------------------------*/ .mw-ui { &-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); &:not(:disabled) { &:hover, &:active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent),inset 0 0 0 2px #fff; } // there's an override for it &:visited { color: var(--ooui-text); } } &.mw-ui-progressive { &:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); &:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent),inset 0 0 0 2px #fff; } &:active, &.is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } } } } // a lot of these need to be redefined since they have the same specificity // as the above &-button&-destructive:not( :disabled ) { color: #fff; } &-button&-quiet, &-button&-quiet&-progressive, &-button&-quiet&-destructive { // background-color: transparent; color: var(--text-color); } input[type='checkbox']:hover + &-button&-quiet, input[type='checkbox']:hover + &-button&-quiet&-progressive, input[type='checkbox']:hover + &-button&-quiet&-destructive, &-button&-quiet:hover, &-button&-quiet&-progressive:hover, &-button&-quiet&-destructive:hover { background-color: rgba(0,24,73,0.02745098); color: var(--text-color); border-color: transparent } input[type='checkbox']:focus + &-button&-quiet, input[type='checkbox']:focus + &-button&-quiet&-progressive, input[type='checkbox']:focus + &-button&-quiet&-destructive, &-button&-quiet:focus, &-button&-quiet&-progressive:focus, &-button&-quiet&-destructive:focus { color: var(--text-color); // border-color: #36c; // box-shadow: inset 0 0 0 1px #36c,inset 0 0 0 2px #fff } input[type='checkbox']:active + &-button&-quiet, input[type='checkbox']:active + &-button&-quiet&-progressive, input[type='checkbox']:active + &-button&-quiet&-destructive, &-button&-quiet:active, &-button&-quiet&-progressive:active, &-button&-quiet&-destructive:active { background-color: rgba(0,36,73,0.08235294); color: var(--text-color); border-color: #72777d; // box-shadow: none } &-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); &:hover { border-color: var(--ooui-input-border--hover); } &::placeholder { color: var(--byline-color); } } } /* ------------------------ Redirects ------------------------*/ // convert to mask .mw-content-ltr .redirectText li { &:first-child { padding: 0; background: 0; &::before { content:''; background: currentcolor; .mask("filepath://Redirect-arrow.svg"); display: inline-block; width: 47px; height: 20px; } } } /* ------------------------------------------------------------- HEADER bits because I'm not sure where I can put this ------------------------------------------------------------ */ /* Search bar */ .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0,0,0,0.15) !important; } /* "More" button */ .vector-menu-dropdown { .vector-menu-heading { color: var(--vector-tab-link-color) !important; &:hover { color: var(--vector-tab-link-color) !important; } &:focus { color: var(--vector-tab-link-color) !important; } } } ad42c4a573b2d0026f7262d48e7dc893854cccd3 MediaWiki:Common.less 8 5 1664 1584 2024-03-31T23:43:14Z Merds 25 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; /*@mine-shaft*/ --byline-color: @silver; --subtle-color: @boulder; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/documentation.less'; // [[Template:Documentation]] @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> @import '@{common}/messagebox.less'; // Messagebox templates // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages @import '@{common}/bstheme.less'; // [[BS:THEME]] // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } df572f556b1a882e8fbcac0576e50617d116239c User:Merds/common.css 2 784 1666 1641 2024-03-31T23:44:04Z Merds 25 css text/css /*<syntaxhighlight lang="css">*/ /*@import url("/w/User:Merds/CSS/Infobox.css?action=raw&ctype=text/css");*/ /*@import url("/w/User:Merds/CSS/Theme.css?action=raw&ctype=text/css");*/ /*</syntaxhighlight>*/ c9254b0de2b5ce1cb4a5f9cfa2151a5efd20e5bb MediaWiki:Common.less/elements.less 8 13 1668 20 2024-03-31T23:48:51Z Merds 25 less less /* =================== HTML elements =================== */ :root { // todo: delete these, they're for rsw only and we already use our own colors --base-text-color: saturate( darken( @river-bed, 5% ), 5% ); --base-heading-color: @river-bed; --base-heading-border: @mystic; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } @base-text-color: var(--base-text-color); @base-heading-color: var(--base-heading-color); @base-heading-border: var(--base-heading-border); /* -------------------- body -------------------- */ #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } /* -------------------- headings -------------------- */ h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--sidebar); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: @serif-stack; } // Clear left on first subheader. Useful to start section after DIIs .mw-parser-output h2:first-of-type { clear: left; } /* ------------------------- <footer> below content ------------------------- */ .mw-footer { color: var(--background-text-color); li { color: var(--background-text-color); } a, a:active, a:visited { color: var(--background-link-color); } } /* ------------------------- <input> placeholder ------------------------- */ ::placeholder { color: var(--subtle-color); } 3781c49372e5e48a44a896dcbf6e1098ba739198 1681 1668 2024-04-01T01:04:50Z Merds 25 less less /* =================== HTML elements =================== */ :root { // todo: delete these, they're for rsw only and we already use our own colors --base-text-color: saturate( darken( @river-bed, 5% ), 5% ); --base-heading-color: @river-bed; --base-heading-border: @mystic; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } @base-text-color: var(--base-text-color); @base-heading-color: var(--base-heading-color); @base-heading-border: var(--base-heading-border); /* -------------------- body -------------------- */ #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } /* -------------------- headings -------------------- */ h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: @serif-stack; } // Clear left on first subheader. Useful to start section after DIIs .mw-parser-output h2:first-of-type { clear: left; } /* ------------------------- <footer> below content ------------------------- */ .mw-footer { color: var(--background-text-color); li { color: var(--background-text-color); } a, a:active, a:visited { color: var(--background-link-color); } } /* ------------------------- <input> placeholder ------------------------- */ ::placeholder { color: var(--subtle-color); } fcd4487fbf2574c0944601ed4efe3e112f396655 MediaWiki:Common.less/ooui.less 8 23 1670 32 2024-03-31T23:53:07Z Merds 25 less less /* ====================== OOUI ====================== */ // MediaWiki documentation: <https://www.mediawiki.org/wiki/OOUI> // Interactive documentation: <https://doc.wikimedia.org/oojs-ui/master/demos/> // Styles repo directory: <https://github.com/wikimedia/oojs-ui/tree/master/src/themes/wikimediaui> // Variables @ooui-normal: #d4baab; @ooui-normal-border: #cdb09d; @ooui-progressive: #936243; @ooui-box-shadow-base--focus: inset 0 0 0 1px var(--ooui-accent); @ooui-box-shadow-input-binary--active: inset 0 0 0 1px var(--ooui-progressive--hover); @ooui-color-base--inverted: @white; :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255,255,255,0.5); // use the same styles for :hover AND :active // :focus will use the accent var --ooui-normal: darken( @ooui-normal, 2% ); // default styles basically add +2% luminance (from #f8f9fa to #ffffff) // there's also another hover color: #eaecf0 (like .oo-ui-tool-link:hover) // ...but we only have one var for button hover, so we should make sure // the color does not blend with its bg --ooui-normal--hover: lighten(@ooui-normal, 4%); --ooui-normal-border: @ooui-normal-border; // use separate color for progressive buttons - BUT use link-color for // anywhere else that uses progressive colors; this isnt the greatest idea // and unifying them is better in the longer term --ooui-progressive: @ooui-progressive; --ooui-progressive--hover: lighten(@ooui-progressive, 10%); // border and bg are the same in non-normal buttons --ooui-accent: var(--link-color); // probably not worth adjusting <textarea>/<input>-esque bg in light mode --ooui-input: #fff; --ooui-input-border: @ooui-normal-border; --ooui-input-border--hover: darken(@ooui-normal-border, 19%); --ooui-disabled: desaturate( lighten( @ooui-normal, 2%), 20% ); --ooui-disabled-border: desaturate( lighten( @ooui-normal-border, 10%), 12% ); --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, @SEARCH_BOX, @SEARCH_BOX 20px, @BODY_MAIN 20px, @BODY_MAIN 30px); } /* ---------------------- widgets ---------------------- */ // need this one to be able to adjust the font color inside popups and etc .oo-ui-widget { color: var(--ooui-text); } // combine checkbox and radio as theyre really similar .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); // same as bg for both } .oo-ui-dropdownWidget { &-handle { border-color: var(--ooui-normal-border); } &.oo-ui-widget-enabled &-handle { background-color: var(--ooui-normal); color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:active { color: var(--ooui-text); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-widget-enabled&-open &-handle { background-color: var(--ooui-normal--hover); } &.oo-ui-widget-disabled &-handle { color: var(--ooui-disabled-text); text-shadow: none; // wont look good on dark mode border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } } // input dropdowns .oo-ui-dropdownInputWidget { // ooui styled dropdown thats actually an html <select> select { border-color: var(--ooui-normal-border); } option { background-color: var(--ooui-interface); } &.oo-ui-widget-enabled { background-color: var(--ooui-normal); &:hover { background-color: var(--ooui-normal--hover); } select { color: var(--ooui-text); &:hover, &:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } // there's a `oo-ui-indicator-down` class here that adds the pointer // icon, it's not a separate element so invert filter for dark mode // is infeasible } } } // in Special:Preferences .oo-ui-labelWidget { &.oo-ui-inline-help { color: var(--byline-color); } } // dropdown selection menu .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); &-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } // options eg. on page deletion/move .oo-ui-menuOptionWidget { // hover &.oo-ui-optionWidget { // hover and selected option &-highlighted, // combined &-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } // hover on chosen option &-selected&-highlighted, &-pressed&-highlighted { color: var(--ooui-accent); } } // hover again &.oo-ui-widget-enabled { &.oo-ui-optionWidget { color: var(--ooui-text); } } // highlight & hover eg page deletion reason // &.oo-ui-optionWidget-selected&.oo-ui-optionWidget-highlighted, // &.oo-ui-optionWidget-pressed&.oo-ui-optionWidget-highlighted { // // } } .oo-ui-messageDialog { // eg exiting out editor without saving the edit modal &-title { color: inherit; } } .oo-ui-messageWidget { // all .messagebox like boxes &.oo-ui-messageWidget-block { // matching .errorbox &.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } // eg warning when there's templatedata when editing a template // matching .warningbox &.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } // matching .successbox &.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } &.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } } // ideally we would use our own success and error colors, but this will do for now &.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), &.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } } .oo-ui-optionWidget { &.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } // eg in ve "Options" window .oo-ui-outlineOptionWidget { &.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } } .oo-ui-popupWidget { // Popups eg when interacting with templates in ve &-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } // popups anchors/arrow .ooui-anchor(@direction) { .oo-ui-popupWidget-anchor:after { border-@{direction}-color: var(--ooui-interface); } .oo-ui-popupWidget-anchor:before { border-@{direction}-color: var(--ooui-interface-border); } } &-anchored- { &top { .ooui-anchor(bottom); } &bottom { .ooui-anchor(top); } &start { .ooui-anchor(right); } &end { .ooui-anchor(left); } } } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget { &-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } &.oo-ui-widget-enabled { &.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); &:hover { border-color: var(--ooui-input-border--hover); } } } } .oo-ui-tabOptionWidget { color: var(--ooui-text); .oo-ui-tabSelectWidget-framed & { &.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); & .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } } &.oo-ui-widget-enabled { &:hover, &:active { background-color: var(--body-light); color: var(--ooui-text); } &.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } } } .oo-ui-tabSelectWidget-frameless & { &.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); &:hover, &:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } } } } .oo-ui-tabSelectWidget { // eg used on [[Special:Preferences]] &-framed { background: none; // actually uses something like --ooui-interface border-bottom: 1px solid var(--ooui-interface-border); // our customisation } // used in TabberNeue (even though we dont have it) &-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } &-mobile { // both use the following mixin in core; but we already have a similar // var in minerva.css for these stuff already used in navboxes /* .oo-ui-horizontal-gradient( @startColor: #eee, @endColor: #fff, @startPos: 0, @endPos: 100% ) { background-color: average( @startColor, @endColor ); background-image: linear-gradient( to right, @startColor @startPos, @endColor @endPos ); } */ &.oo-ui-tabSelectWidget-framed:after { // background instead of -image so the prev properties used as // fallback for ancient browsers are reset background: var(--mobile-navbox-linear-gradient); } &.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } } } // eg recent changes selected filter tag .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); &.oo-ui-widget-enabled { color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } & .oo-ui-buttonElement-button { &:hover { background-color: var(--ooui-normal--hover); } } } } .oo-ui-tagMultiselectWidget { // rc/watchlist filter box &.oo-ui-widget-enabled { background-color: var(--ooui-interface); // and again - this time it's button bg &.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } } } } .oo-ui-textInputWidget { // eg RecentChanges filter changes input .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &.oo-ui-widget-enabled { .oo-ui-inputWidget-input { &::placeholder { color: var(--subtle-color); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } &[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } } &:hover { .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); &:focus { border-color: var(--ooui-accent); } } } @media screen { @media ( min-width: 0 ) { textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } } } &.oo-ui-widget-disabled { .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; // wont look good on dark mode border-color: var(--ooui-disabled-border); } } } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); &.oo-ui-widget-enabled { .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } &:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } } &:active, &:active:hover, &:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } } &.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } &:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:active, &:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:focus { border-color: var(--ooui-progressive); &::before { border-color: @ooui-color-base--inverted; } } } } &.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); // same as bg } } /* ---------------------- elements/buttons ---------------------- */ // mixin for frameless progressive/destructive button .mw-frameless-button-colored( @child, @color-text ) { > @{child}, // no distinct color for hover > @{child}:hover { color: @color-text; } > @{child}:active, &.oo-ui-buttonElement-pressed > @{child} { // dont differentiate between :active and normal color: @color-text; border-color: @color-text; } } .mw-framed-button-colored( @child, @color-text, @hover, @border-color--hover, /* @active,*/ @focus ) { > @{child} { color: @color-text; } > @{child}:hover { background-color: @hover; border-color: @border-color--hover; } > @{child}:focus { border-color: @focus; box-shadow: inset 0 0 0 1px @focus; } /* ugh uses lighten() > @{child}:active, &.oo-ui-buttonElement-pressed > @{child}, &.oo-ui-buttonElement-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { background-color: lighten( @active, 60% ); color: @active; border-color: @active; } */ } // mixin for framed progressive/destructive button .mw-framed-primary-button-colored( @child, @color, @hover, @active, @focus ) { > @{child} { background-color: @color; border-color: @color; } > @{child}:hover { background-color: @hover; border-color: @hover; } > @{child}:focus { border-color: @focus; box-shadow: inset 0 0 0 1px @focus, inset 0 0 0 2px @ooui-color-base--inverted; } > @{child}:active, &.oo-ui-buttonElement-pressed > @{child}, &.oo-ui-buttonElement-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { color: @ooui-color-base--inverted; background-color: @active; border-color: @active; } } .oo-ui-buttonElement { &-frameless { &.oo-ui-widget-enabled { > .oo-ui-buttonElement-button { color: var(--ooui-text); &:hover { color: var(--ooui-text); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } &.oo-ui-flaggedElement { &-progressive { .mw-frameless-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-text) ); // try out using text color as the button label like hard-coded darkmode } // not needed // &-destructive { // .mw-frameless-button-colored( ~'.oo-ui-buttonElement-button' ); // } } } &.oo-ui-widget-disabled { > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } } } &-framed { &.oo-ui-widget-disabled { > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } } &.oo-ui-widget-enabled { > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; // needed, else it would be overriden by non-active styles border-color: var(--ooui-progressive--hover); &:focus { border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-base--focus; } } // same as :hover above > .oo-ui-buttonElement-button:active, &.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &.oo-ui-flaggedElement { &-progressive { .mw-framed-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-text), var(--ooui-normal--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } &-destructive { // .mw-framed-button-colored( ~'.oo-ui-buttonElement-button', @color-destructive-non-primary, @background-color-framed--hover, @border-color-framed-destructive--hover, @color-destructive--active, @color-destructive--focus ); // since we arent changing destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); } } } } &.oo-ui-flaggedElement-primary { &.oo-ui-flaggedElement { &-progressive { .mw-framed-primary-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-progressive), var(--ooui-progressive--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } // dont need // &-destructive { // .mw-framed-primary-button-colored( ~'.oo-ui-buttonElement-button' ); // } } } } } } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } } /* ---------------------- windows ---------------------- */ .oo-ui-messageDialog { &-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } &-message { color: var(--ooui-text); } &-actions { // eg ace editor "Go to line number..." window &-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } &-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } } } .oo-ui-processDialog { &-content { .oo-ui-window-head, .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } } // need to reoverride so buttons wont have weird borders .oo-ui-actionWidget { > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; &:hover, &:active { border-top-color: transparent; border-bottom-color: transparent; } } &:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) { > .oo-ui-buttonElement-button { &:hover, &:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } &:focus { border-color: var(--ooui-accent); } } } } &-actions { &-safe, &-other { .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } } &-safe { .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) { > .oo-ui-buttonElement-button { &:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } } } } } } .oo-ui-windowManager { &-modal { // bg behind windows > .oo-ui-dialog { background-color: var(--ooui-window-background); } // all popup windows > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } } // window outlines &-modal&-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } } // we need this one to be able to adjust the font color inside windows .oo-ui-window { color: var(--ooui-text); } /* ---------------------- tools ---------------------- */ .mw-tool-colored( @child /*, @color-text*/ , @hover, @active , @focus , @active-text: @active ) { // > @{child} { // color: @color-text; // } > @{child}:hover { background-color: @hover; } > @{child}:focus { outline: 1px solid @focus; box-shadow: inset 0 0 0 1px @focus; } > @{child}:active, &.oo-ui-tool-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { background-color: var(--ooui-normal--hover); color: @active-text; box-shadow: none; } } .mw-primary-tool-colored( @child, @color, @hover, @active, @focus ) { > @{child} { // color: @ooui-color-base--inverted; background-color: @color; } > @{child}:hover { background-color: @hover; } > @{child}:focus { // outline: @border-width-base @border-style-base @focus; box-shadow: inset 0 0 0 1px @focus, inset 0 0 0 2px @ooui-color-base--inverted; } > @{child}:active, &.oo-ui-tool-active > @{child} { // color: @ooui-color-base--inverted; background-color: @active; // box-shadow: none; } // &.oo-ui-widget-disabled > @{child}, // &.oo-ui-widget-disabled > @{child}:active { // background-color: @background-color-filled--disabled; // color: @color-filled--disabled; // } } @ooui-toolbar: var(--ooui-interface); @ooui-toolbar-border: var(--body-mid); // mainly used by ve and source editor // toolbar .oo-ui-toolbar { &-bar { background-color: @ooui-toolbar; color: var(--ooui-text); // toolbar borders .oo-ui-toolbar-position-top > & { border-bottom-color: @ooui-toolbar-border; } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: @ooui-toolbar-border; } } } .oo-ui-tool { &.oo-ui-widget-enabled { .mw-tool-colored( ~'.oo-ui-tool-link', var(--ooui-normal--hover), var(--ooui-accent), var(--ooui-accent) ); // &.oo-ui-flaggedElement { // &-progressive { // .mw-tool-colored( ~'.oo-ui-tool-link', @background-color-tool--hover, @color-primary--active, @color-primary--focus ); // } // &-destructive { // .mw-tool-colored( ~'.oo-ui-tool-link', @color-destructive-non-primary, @background-color-tool--hover, @color-destructive--active, @color-destructive--focus ); // } // } &.oo-ui-flaggedElement-primary { &.oo-ui-flaggedElement { &-progressive { .mw-primary-tool-colored( ~'.oo-ui-tool-link', var(--ooui-progressive), var(--ooui-progressive--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } // &-destructive { // .mw-primary-tool-colored( ~'.oo-ui-tool-link', @color-destructive, @color-destructive--hover, @color-destructive--active, @color-destructive--focus ); // } } } } } .oo-ui-listToolGroup { // eg "Page options" dropdown &-tools .oo-ui-tool { &.oo-ui-widget-enabled { background-color: var(--ooui-normal); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } } // does not match source ordering &-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive) } } } // left-hand tool group .oo-ui-menuToolGroup { border-left-color: @ooui-toolbar-border; border-right-color: @ooui-toolbar-border; } .oo-ui-popupToolGroup { // dropdown menu &-tools { background-color: @ooui-toolbar; border-color: @ooui-toolbar-border; } &.oo-ui-widget-enabled { // eg hover "Insert" > .oo-ui-popupToolGroup-handle { &:hover { background-color: var(--ooui-normal--hover); } &:focus { outline: 1px solid var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } // ve "Page options" again .oo-ui-toolbar-actions & { > .oo-ui-popupToolGroup-handle { &:hover { // same as button hover border-right-color: var(--ooui-normal--hover); } } } } // might not match source ordering &-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } &-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } &.oo-ui-popupToolGroup-active { > .oo-ui-popupToolGroup-handle { // aka active background-color: var(--ooui-normal); color: var(--ooui-accent); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } } } } /* ---------------------- layouts ---------------------- */ .oo-ui-bookletLayout { &-outlinePanel { > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } } // eg "Show options" in ve template editor > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } } .oo-ui-fieldLayout { // disabled text color in layouts &-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } } // ooui <fieldset> .oo-ui-panelLayout { &-framed { border-color: var(--sidebar); // along with <h1/2> border } } /* ---------------------- others ---------------------- */ .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } // --- widgets in core mediawiki --- // DateInputWidget .mw-widget-dateInputWidget { &-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &-calendar { background-color: var(--ooui-interface); } &.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } } // CalendarWidget .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } // focused month &-day, // week day name &-day-heading { color: var(--ooui-text); } // other months &-day-additional { color: var(--ooui-text); opacity: 0.67; } &-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } &-item { &:hover { background-color: var(--ooui-progressive); } &-selected { background-color: var(--ooui-progressive--hover); } } } // e.g. on [[Special:AbuseFilter/examine]] .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); &:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0,0,0,0.25); } &-grid { .mw-widgets-datetime-calendarWidget-cell { &.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button { .oo-ui-labelElement-label { color: var(--subtle-color); } } &.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } } } } // input box .mw-widgets-datetime-dateTimeInputWidget { &-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &.oo-ui-widget-enabled { &.mw-widgets-datetime-dateTimeInputWidget-handle { &:hover { border-color: var(--ooui-input-border--hover); } } &:hover { input, textarea { border-color: var(--ooui-input-border--hover); } } .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } } } 9046981304b3e3dc2776d7a1e616986a845742bc 1673 1670 2024-03-31T23:58:11Z Merds 25 less less /* ====================== OOUI ====================== */ // MediaWiki documentation: <https://www.mediawiki.org/wiki/OOUI> // Interactive documentation: <https://doc.wikimedia.org/oojs-ui/master/demos/> // Styles repo directory: <https://github.com/wikimedia/oojs-ui/tree/master/src/themes/wikimediaui> // Variables @ooui-normal: var(--body-mid); @ooui-normal-border: var(--body-border); @ooui-progressive: #936243; @ooui-box-shadow-base--focus: inset 0 0 0 1px var(--ooui-accent); @ooui-box-shadow-input-binary--active: inset 0 0 0 1px var(--ooui-progressive--hover); @ooui-color-base--inverted: @white; :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255,255,255,0.5); // use the same styles for :hover AND :active // :focus will use the accent var --ooui-normal: darken( @ooui-normal, 2% ); // default styles basically add +2% luminance (from #f8f9fa to #ffffff) // there's also another hover color: #eaecf0 (like .oo-ui-tool-link:hover) // ...but we only have one var for button hover, so we should make sure // the color does not blend with its bg --ooui-normal--hover: lighten(@ooui-normal, 4%); --ooui-normal-border: @ooui-normal-border; // use separate color for progressive buttons - BUT use link-color for // anywhere else that uses progressive colors; this isnt the greatest idea // and unifying them is better in the longer term --ooui-progressive: @ooui-progressive; --ooui-progressive--hover: lighten(@ooui-progressive, 10%); // border and bg are the same in non-normal buttons --ooui-accent: var(--link-color); // probably not worth adjusting <textarea>/<input>-esque bg in light mode --ooui-input: #fff; --ooui-input-border: @ooui-normal-border; --ooui-input-border--hover: darken(@ooui-normal-border, 19%); --ooui-disabled: desaturate( lighten( @ooui-normal, 2%), 20% ); --ooui-disabled-border: desaturate( lighten( @ooui-normal-border, 10%), 12% ); --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, @SEARCH_BOX, @SEARCH_BOX 20px, @BODY_MAIN 20px, @BODY_MAIN 30px); } /* ---------------------- widgets ---------------------- */ // need this one to be able to adjust the font color inside popups and etc .oo-ui-widget { color: var(--ooui-text); } // combine checkbox and radio as theyre really similar .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); // same as bg for both } .oo-ui-dropdownWidget { &-handle { border-color: var(--ooui-normal-border); } &.oo-ui-widget-enabled &-handle { background-color: var(--ooui-normal); color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:active { color: var(--ooui-text); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-widget-enabled&-open &-handle { background-color: var(--ooui-normal--hover); } &.oo-ui-widget-disabled &-handle { color: var(--ooui-disabled-text); text-shadow: none; // wont look good on dark mode border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } } // input dropdowns .oo-ui-dropdownInputWidget { // ooui styled dropdown thats actually an html <select> select { border-color: var(--ooui-normal-border); } option { background-color: var(--ooui-interface); } &.oo-ui-widget-enabled { background-color: var(--ooui-normal); &:hover { background-color: var(--ooui-normal--hover); } select { color: var(--ooui-text); &:hover, &:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } // there's a `oo-ui-indicator-down` class here that adds the pointer // icon, it's not a separate element so invert filter for dark mode // is infeasible } } } // in Special:Preferences .oo-ui-labelWidget { &.oo-ui-inline-help { color: var(--byline-color); } } // dropdown selection menu .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); &-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } // options eg. on page deletion/move .oo-ui-menuOptionWidget { // hover &.oo-ui-optionWidget { // hover and selected option &-highlighted, // combined &-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } // hover on chosen option &-selected&-highlighted, &-pressed&-highlighted { color: var(--ooui-accent); } } // hover again &.oo-ui-widget-enabled { &.oo-ui-optionWidget { color: var(--ooui-text); } } // highlight & hover eg page deletion reason // &.oo-ui-optionWidget-selected&.oo-ui-optionWidget-highlighted, // &.oo-ui-optionWidget-pressed&.oo-ui-optionWidget-highlighted { // // } } .oo-ui-messageDialog { // eg exiting out editor without saving the edit modal &-title { color: inherit; } } .oo-ui-messageWidget { // all .messagebox like boxes &.oo-ui-messageWidget-block { // matching .errorbox &.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } // eg warning when there's templatedata when editing a template // matching .warningbox &.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } // matching .successbox &.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } &.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } } // ideally we would use our own success and error colors, but this will do for now &.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), &.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } } .oo-ui-optionWidget { &.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } // eg in ve "Options" window .oo-ui-outlineOptionWidget { &.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } } .oo-ui-popupWidget { // Popups eg when interacting with templates in ve &-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } // popups anchors/arrow .ooui-anchor(@direction) { .oo-ui-popupWidget-anchor:after { border-@{direction}-color: var(--ooui-interface); } .oo-ui-popupWidget-anchor:before { border-@{direction}-color: var(--ooui-interface-border); } } &-anchored- { &top { .ooui-anchor(bottom); } &bottom { .ooui-anchor(top); } &start { .ooui-anchor(right); } &end { .ooui-anchor(left); } } } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget { &-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } &.oo-ui-widget-enabled { &.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); &:hover { border-color: var(--ooui-input-border--hover); } } } } .oo-ui-tabOptionWidget { color: var(--ooui-text); .oo-ui-tabSelectWidget-framed & { &.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); & .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } } &.oo-ui-widget-enabled { &:hover, &:active { background-color: var(--body-light); color: var(--ooui-text); } &.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } } } .oo-ui-tabSelectWidget-frameless & { &.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); &:hover, &:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } } } } .oo-ui-tabSelectWidget { // eg used on [[Special:Preferences]] &-framed { background: none; // actually uses something like --ooui-interface border-bottom: 1px solid var(--ooui-interface-border); // our customisation } // used in TabberNeue (even though we dont have it) &-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } &-mobile { // both use the following mixin in core; but we already have a similar // var in minerva.css for these stuff already used in navboxes /* .oo-ui-horizontal-gradient( @startColor: #eee, @endColor: #fff, @startPos: 0, @endPos: 100% ) { background-color: average( @startColor, @endColor ); background-image: linear-gradient( to right, @startColor @startPos, @endColor @endPos ); } */ &.oo-ui-tabSelectWidget-framed:after { // background instead of -image so the prev properties used as // fallback for ancient browsers are reset background: var(--mobile-navbox-linear-gradient); } &.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } } } // eg recent changes selected filter tag .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); &.oo-ui-widget-enabled { color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } & .oo-ui-buttonElement-button { &:hover { background-color: var(--ooui-normal--hover); } } } } .oo-ui-tagMultiselectWidget { // rc/watchlist filter box &.oo-ui-widget-enabled { background-color: var(--ooui-interface); // and again - this time it's button bg &.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } } } } .oo-ui-textInputWidget { // eg RecentChanges filter changes input .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &.oo-ui-widget-enabled { .oo-ui-inputWidget-input { &::placeholder { color: var(--subtle-color); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } &[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } } &:hover { .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); &:focus { border-color: var(--ooui-accent); } } } @media screen { @media ( min-width: 0 ) { textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } } } &.oo-ui-widget-disabled { .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; // wont look good on dark mode border-color: var(--ooui-disabled-border); } } } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); &.oo-ui-widget-enabled { .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } &:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } } &:active, &:active:hover, &:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } } &.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } &:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:active, &:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:focus { border-color: var(--ooui-progressive); &::before { border-color: @ooui-color-base--inverted; } } } } &.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); // same as bg } } /* ---------------------- elements/buttons ---------------------- */ // mixin for frameless progressive/destructive button .mw-frameless-button-colored( @child, @color-text ) { > @{child}, // no distinct color for hover > @{child}:hover { color: @color-text; } > @{child}:active, &.oo-ui-buttonElement-pressed > @{child} { // dont differentiate between :active and normal color: @color-text; border-color: @color-text; } } .mw-framed-button-colored( @child, @color-text, @hover, @border-color--hover, /* @active,*/ @focus ) { > @{child} { color: @color-text; } > @{child}:hover { background-color: @hover; border-color: @border-color--hover; } > @{child}:focus { border-color: @focus; box-shadow: inset 0 0 0 1px @focus; } /* ugh uses lighten() > @{child}:active, &.oo-ui-buttonElement-pressed > @{child}, &.oo-ui-buttonElement-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { background-color: lighten( @active, 60% ); color: @active; border-color: @active; } */ } // mixin for framed progressive/destructive button .mw-framed-primary-button-colored( @child, @color, @hover, @active, @focus ) { > @{child} { background-color: @color; border-color: @color; } > @{child}:hover { background-color: @hover; border-color: @hover; } > @{child}:focus { border-color: @focus; box-shadow: inset 0 0 0 1px @focus, inset 0 0 0 2px @ooui-color-base--inverted; } > @{child}:active, &.oo-ui-buttonElement-pressed > @{child}, &.oo-ui-buttonElement-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { color: @ooui-color-base--inverted; background-color: @active; border-color: @active; } } .oo-ui-buttonElement { &-frameless { &.oo-ui-widget-enabled { > .oo-ui-buttonElement-button { color: var(--ooui-text); &:hover { color: var(--ooui-text); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } &.oo-ui-flaggedElement { &-progressive { .mw-frameless-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-text) ); // try out using text color as the button label like hard-coded darkmode } // not needed // &-destructive { // .mw-frameless-button-colored( ~'.oo-ui-buttonElement-button' ); // } } } &.oo-ui-widget-disabled { > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } } } &-framed { &.oo-ui-widget-disabled { > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } } &.oo-ui-widget-enabled { > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; // needed, else it would be overriden by non-active styles border-color: var(--ooui-progressive--hover); &:focus { border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-base--focus; } } // same as :hover above > .oo-ui-buttonElement-button:active, &.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &.oo-ui-flaggedElement { &-progressive { .mw-framed-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-text), var(--ooui-normal--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } &-destructive { // .mw-framed-button-colored( ~'.oo-ui-buttonElement-button', @color-destructive-non-primary, @background-color-framed--hover, @border-color-framed-destructive--hover, @color-destructive--active, @color-destructive--focus ); // since we arent changing destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); } } } } &.oo-ui-flaggedElement-primary { &.oo-ui-flaggedElement { &-progressive { .mw-framed-primary-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-progressive), var(--ooui-progressive--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } // dont need // &-destructive { // .mw-framed-primary-button-colored( ~'.oo-ui-buttonElement-button' ); // } } } } } } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } } /* ---------------------- windows ---------------------- */ .oo-ui-messageDialog { &-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } &-message { color: var(--ooui-text); } &-actions { // eg ace editor "Go to line number..." window &-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } &-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } } } .oo-ui-processDialog { &-content { .oo-ui-window-head, .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } } // need to reoverride so buttons wont have weird borders .oo-ui-actionWidget { > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; &:hover, &:active { border-top-color: transparent; border-bottom-color: transparent; } } &:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) { > .oo-ui-buttonElement-button { &:hover, &:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } &:focus { border-color: var(--ooui-accent); } } } } &-actions { &-safe, &-other { .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } } &-safe { .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) { > .oo-ui-buttonElement-button { &:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } } } } } } .oo-ui-windowManager { &-modal { // bg behind windows > .oo-ui-dialog { background-color: var(--ooui-window-background); } // all popup windows > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } } // window outlines &-modal&-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } } // we need this one to be able to adjust the font color inside windows .oo-ui-window { color: var(--ooui-text); } /* ---------------------- tools ---------------------- */ .mw-tool-colored( @child /*, @color-text*/ , @hover, @active , @focus , @active-text: @active ) { // > @{child} { // color: @color-text; // } > @{child}:hover { background-color: @hover; } > @{child}:focus { outline: 1px solid @focus; box-shadow: inset 0 0 0 1px @focus; } > @{child}:active, &.oo-ui-tool-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { background-color: var(--ooui-normal--hover); color: @active-text; box-shadow: none; } } .mw-primary-tool-colored( @child, @color, @hover, @active, @focus ) { > @{child} { // color: @ooui-color-base--inverted; background-color: @color; } > @{child}:hover { background-color: @hover; } > @{child}:focus { // outline: @border-width-base @border-style-base @focus; box-shadow: inset 0 0 0 1px @focus, inset 0 0 0 2px @ooui-color-base--inverted; } > @{child}:active, &.oo-ui-tool-active > @{child} { // color: @ooui-color-base--inverted; background-color: @active; // box-shadow: none; } // &.oo-ui-widget-disabled > @{child}, // &.oo-ui-widget-disabled > @{child}:active { // background-color: @background-color-filled--disabled; // color: @color-filled--disabled; // } } @ooui-toolbar: var(--ooui-interface); @ooui-toolbar-border: var(--body-mid); // mainly used by ve and source editor // toolbar .oo-ui-toolbar { &-bar { background-color: @ooui-toolbar; color: var(--ooui-text); // toolbar borders .oo-ui-toolbar-position-top > & { border-bottom-color: @ooui-toolbar-border; } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: @ooui-toolbar-border; } } } .oo-ui-tool { &.oo-ui-widget-enabled { .mw-tool-colored( ~'.oo-ui-tool-link', var(--ooui-normal--hover), var(--ooui-accent), var(--ooui-accent) ); // &.oo-ui-flaggedElement { // &-progressive { // .mw-tool-colored( ~'.oo-ui-tool-link', @background-color-tool--hover, @color-primary--active, @color-primary--focus ); // } // &-destructive { // .mw-tool-colored( ~'.oo-ui-tool-link', @color-destructive-non-primary, @background-color-tool--hover, @color-destructive--active, @color-destructive--focus ); // } // } &.oo-ui-flaggedElement-primary { &.oo-ui-flaggedElement { &-progressive { .mw-primary-tool-colored( ~'.oo-ui-tool-link', var(--ooui-progressive), var(--ooui-progressive--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } // &-destructive { // .mw-primary-tool-colored( ~'.oo-ui-tool-link', @color-destructive, @color-destructive--hover, @color-destructive--active, @color-destructive--focus ); // } } } } } .oo-ui-listToolGroup { // eg "Page options" dropdown &-tools .oo-ui-tool { &.oo-ui-widget-enabled { background-color: var(--ooui-normal); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } } // does not match source ordering &-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive) } } } // left-hand tool group .oo-ui-menuToolGroup { border-left-color: @ooui-toolbar-border; border-right-color: @ooui-toolbar-border; } .oo-ui-popupToolGroup { // dropdown menu &-tools { background-color: @ooui-toolbar; border-color: @ooui-toolbar-border; } &.oo-ui-widget-enabled { // eg hover "Insert" > .oo-ui-popupToolGroup-handle { &:hover { background-color: var(--ooui-normal--hover); } &:focus { outline: 1px solid var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } // ve "Page options" again .oo-ui-toolbar-actions & { > .oo-ui-popupToolGroup-handle { &:hover { // same as button hover border-right-color: var(--ooui-normal--hover); } } } } // might not match source ordering &-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } &-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } &.oo-ui-popupToolGroup-active { > .oo-ui-popupToolGroup-handle { // aka active background-color: var(--ooui-normal); color: var(--ooui-accent); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } } } } /* ---------------------- layouts ---------------------- */ .oo-ui-bookletLayout { &-outlinePanel { > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } } // eg "Show options" in ve template editor > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } } .oo-ui-fieldLayout { // disabled text color in layouts &-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } } // ooui <fieldset> .oo-ui-panelLayout { &-framed { border-color: var(--sidebar); // along with <h1/2> border } } /* ---------------------- others ---------------------- */ .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } // --- widgets in core mediawiki --- // DateInputWidget .mw-widget-dateInputWidget { &-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &-calendar { background-color: var(--ooui-interface); } &.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } } // CalendarWidget .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } // focused month &-day, // week day name &-day-heading { color: var(--ooui-text); } // other months &-day-additional { color: var(--ooui-text); opacity: 0.67; } &-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } &-item { &:hover { background-color: var(--ooui-progressive); } &-selected { background-color: var(--ooui-progressive--hover); } } } // e.g. on [[Special:AbuseFilter/examine]] .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); &:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0,0,0,0.25); } &-grid { .mw-widgets-datetime-calendarWidget-cell { &.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button { .oo-ui-labelElement-label { color: var(--subtle-color); } } &.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } } } } // input box .mw-widgets-datetime-dateTimeInputWidget { &-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &.oo-ui-widget-enabled { &.mw-widgets-datetime-dateTimeInputWidget-handle { &:hover { border-color: var(--ooui-input-border--hover); } } &:hover { input, textarea { border-color: var(--ooui-input-border--hover); } } .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } } } c6fce0eb5b2625f1e403bd94e1d7cb4f2038a720 1674 1673 2024-03-31T23:59:04Z Merds 25 less less /* ====================== OOUI ====================== */ // MediaWiki documentation: <https://www.mediawiki.org/wiki/OOUI> // Interactive documentation: <https://doc.wikimedia.org/oojs-ui/master/demos/> // Styles repo directory: <https://github.com/wikimedia/oojs-ui/tree/master/src/themes/wikimediaui> // Variables @ooui-normal: @BODY_MID; @ooui-normal-border: @BODY_BORDER; @ooui-progressive: #936243; @ooui-box-shadow-base--focus: inset 0 0 0 1px var(--ooui-accent); @ooui-box-shadow-input-binary--active: inset 0 0 0 1px var(--ooui-progressive--hover); @ooui-color-base--inverted: @white; :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255,255,255,0.5); // use the same styles for :hover AND :active // :focus will use the accent var --ooui-normal: darken( @ooui-normal, 2% ); // default styles basically add +2% luminance (from #f8f9fa to #ffffff) // there's also another hover color: #eaecf0 (like .oo-ui-tool-link:hover) // ...but we only have one var for button hover, so we should make sure // the color does not blend with its bg --ooui-normal--hover: lighten(@ooui-normal, 4%); --ooui-normal-border: @ooui-normal-border; // use separate color for progressive buttons - BUT use link-color for // anywhere else that uses progressive colors; this isnt the greatest idea // and unifying them is better in the longer term --ooui-progressive: @ooui-progressive; --ooui-progressive--hover: lighten(@ooui-progressive, 10%); // border and bg are the same in non-normal buttons --ooui-accent: var(--link-color); // probably not worth adjusting <textarea>/<input>-esque bg in light mode --ooui-input: #fff; --ooui-input-border: @ooui-normal-border; --ooui-input-border--hover: darken(@ooui-normal-border, 19%); --ooui-disabled: desaturate( lighten( @ooui-normal, 2%), 20% ); --ooui-disabled-border: desaturate( lighten( @ooui-normal-border, 10%), 12% ); --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, @SEARCH_BOX, @SEARCH_BOX 20px, @BODY_MAIN 20px, @BODY_MAIN 30px); } /* ---------------------- widgets ---------------------- */ // need this one to be able to adjust the font color inside popups and etc .oo-ui-widget { color: var(--ooui-text); } // combine checkbox and radio as theyre really similar .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); // same as bg for both } .oo-ui-dropdownWidget { &-handle { border-color: var(--ooui-normal-border); } &.oo-ui-widget-enabled &-handle { background-color: var(--ooui-normal); color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:active { color: var(--ooui-text); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-widget-enabled&-open &-handle { background-color: var(--ooui-normal--hover); } &.oo-ui-widget-disabled &-handle { color: var(--ooui-disabled-text); text-shadow: none; // wont look good on dark mode border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } } // input dropdowns .oo-ui-dropdownInputWidget { // ooui styled dropdown thats actually an html <select> select { border-color: var(--ooui-normal-border); } option { background-color: var(--ooui-interface); } &.oo-ui-widget-enabled { background-color: var(--ooui-normal); &:hover { background-color: var(--ooui-normal--hover); } select { color: var(--ooui-text); &:hover, &:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } // there's a `oo-ui-indicator-down` class here that adds the pointer // icon, it's not a separate element so invert filter for dark mode // is infeasible } } } // in Special:Preferences .oo-ui-labelWidget { &.oo-ui-inline-help { color: var(--byline-color); } } // dropdown selection menu .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); &-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } // options eg. on page deletion/move .oo-ui-menuOptionWidget { // hover &.oo-ui-optionWidget { // hover and selected option &-highlighted, // combined &-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } // hover on chosen option &-selected&-highlighted, &-pressed&-highlighted { color: var(--ooui-accent); } } // hover again &.oo-ui-widget-enabled { &.oo-ui-optionWidget { color: var(--ooui-text); } } // highlight & hover eg page deletion reason // &.oo-ui-optionWidget-selected&.oo-ui-optionWidget-highlighted, // &.oo-ui-optionWidget-pressed&.oo-ui-optionWidget-highlighted { // // } } .oo-ui-messageDialog { // eg exiting out editor without saving the edit modal &-title { color: inherit; } } .oo-ui-messageWidget { // all .messagebox like boxes &.oo-ui-messageWidget-block { // matching .errorbox &.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } // eg warning when there's templatedata when editing a template // matching .warningbox &.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } // matching .successbox &.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } &.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } } // ideally we would use our own success and error colors, but this will do for now &.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), &.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } } .oo-ui-optionWidget { &.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } // eg in ve "Options" window .oo-ui-outlineOptionWidget { &.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } } .oo-ui-popupWidget { // Popups eg when interacting with templates in ve &-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } // popups anchors/arrow .ooui-anchor(@direction) { .oo-ui-popupWidget-anchor:after { border-@{direction}-color: var(--ooui-interface); } .oo-ui-popupWidget-anchor:before { border-@{direction}-color: var(--ooui-interface-border); } } &-anchored- { &top { .ooui-anchor(bottom); } &bottom { .ooui-anchor(top); } &start { .ooui-anchor(right); } &end { .ooui-anchor(left); } } } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget { &-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } &.oo-ui-widget-enabled { &.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); &:hover { border-color: var(--ooui-input-border--hover); } } } } .oo-ui-tabOptionWidget { color: var(--ooui-text); .oo-ui-tabSelectWidget-framed & { &.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); & .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } } &.oo-ui-widget-enabled { &:hover, &:active { background-color: var(--body-light); color: var(--ooui-text); } &.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } } } .oo-ui-tabSelectWidget-frameless & { &.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); &:hover, &:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } } } } .oo-ui-tabSelectWidget { // eg used on [[Special:Preferences]] &-framed { background: none; // actually uses something like --ooui-interface border-bottom: 1px solid var(--ooui-interface-border); // our customisation } // used in TabberNeue (even though we dont have it) &-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } &-mobile { // both use the following mixin in core; but we already have a similar // var in minerva.css for these stuff already used in navboxes /* .oo-ui-horizontal-gradient( @startColor: #eee, @endColor: #fff, @startPos: 0, @endPos: 100% ) { background-color: average( @startColor, @endColor ); background-image: linear-gradient( to right, @startColor @startPos, @endColor @endPos ); } */ &.oo-ui-tabSelectWidget-framed:after { // background instead of -image so the prev properties used as // fallback for ancient browsers are reset background: var(--mobile-navbox-linear-gradient); } &.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } } } // eg recent changes selected filter tag .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); &.oo-ui-widget-enabled { color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } & .oo-ui-buttonElement-button { &:hover { background-color: var(--ooui-normal--hover); } } } } .oo-ui-tagMultiselectWidget { // rc/watchlist filter box &.oo-ui-widget-enabled { background-color: var(--ooui-interface); // and again - this time it's button bg &.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } } } } .oo-ui-textInputWidget { // eg RecentChanges filter changes input .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &.oo-ui-widget-enabled { .oo-ui-inputWidget-input { &::placeholder { color: var(--subtle-color); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } &[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } } &:hover { .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); &:focus { border-color: var(--ooui-accent); } } } @media screen { @media ( min-width: 0 ) { textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } } } &.oo-ui-widget-disabled { .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; // wont look good on dark mode border-color: var(--ooui-disabled-border); } } } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); &.oo-ui-widget-enabled { .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } &:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } } &:active, &:active:hover, &:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } } &.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } &:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:active, &:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:focus { border-color: var(--ooui-progressive); &::before { border-color: @ooui-color-base--inverted; } } } } &.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); // same as bg } } /* ---------------------- elements/buttons ---------------------- */ // mixin for frameless progressive/destructive button .mw-frameless-button-colored( @child, @color-text ) { > @{child}, // no distinct color for hover > @{child}:hover { color: @color-text; } > @{child}:active, &.oo-ui-buttonElement-pressed > @{child} { // dont differentiate between :active and normal color: @color-text; border-color: @color-text; } } .mw-framed-button-colored( @child, @color-text, @hover, @border-color--hover, /* @active,*/ @focus ) { > @{child} { color: @color-text; } > @{child}:hover { background-color: @hover; border-color: @border-color--hover; } > @{child}:focus { border-color: @focus; box-shadow: inset 0 0 0 1px @focus; } /* ugh uses lighten() > @{child}:active, &.oo-ui-buttonElement-pressed > @{child}, &.oo-ui-buttonElement-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { background-color: lighten( @active, 60% ); color: @active; border-color: @active; } */ } // mixin for framed progressive/destructive button .mw-framed-primary-button-colored( @child, @color, @hover, @active, @focus ) { > @{child} { background-color: @color; border-color: @color; } > @{child}:hover { background-color: @hover; border-color: @hover; } > @{child}:focus { border-color: @focus; box-shadow: inset 0 0 0 1px @focus, inset 0 0 0 2px @ooui-color-base--inverted; } > @{child}:active, &.oo-ui-buttonElement-pressed > @{child}, &.oo-ui-buttonElement-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { color: @ooui-color-base--inverted; background-color: @active; border-color: @active; } } .oo-ui-buttonElement { &-frameless { &.oo-ui-widget-enabled { > .oo-ui-buttonElement-button { color: var(--ooui-text); &:hover { color: var(--ooui-text); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } &.oo-ui-flaggedElement { &-progressive { .mw-frameless-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-text) ); // try out using text color as the button label like hard-coded darkmode } // not needed // &-destructive { // .mw-frameless-button-colored( ~'.oo-ui-buttonElement-button' ); // } } } &.oo-ui-widget-disabled { > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } } } &-framed { &.oo-ui-widget-disabled { > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } } &.oo-ui-widget-enabled { > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; // needed, else it would be overriden by non-active styles border-color: var(--ooui-progressive--hover); &:focus { border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-base--focus; } } // same as :hover above > .oo-ui-buttonElement-button:active, &.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &.oo-ui-flaggedElement { &-progressive { .mw-framed-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-text), var(--ooui-normal--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } &-destructive { // .mw-framed-button-colored( ~'.oo-ui-buttonElement-button', @color-destructive-non-primary, @background-color-framed--hover, @border-color-framed-destructive--hover, @color-destructive--active, @color-destructive--focus ); // since we arent changing destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); } } } } &.oo-ui-flaggedElement-primary { &.oo-ui-flaggedElement { &-progressive { .mw-framed-primary-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-progressive), var(--ooui-progressive--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } // dont need // &-destructive { // .mw-framed-primary-button-colored( ~'.oo-ui-buttonElement-button' ); // } } } } } } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } } /* ---------------------- windows ---------------------- */ .oo-ui-messageDialog { &-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } &-message { color: var(--ooui-text); } &-actions { // eg ace editor "Go to line number..." window &-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } &-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } } } .oo-ui-processDialog { &-content { .oo-ui-window-head, .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } } // need to reoverride so buttons wont have weird borders .oo-ui-actionWidget { > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; &:hover, &:active { border-top-color: transparent; border-bottom-color: transparent; } } &:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) { > .oo-ui-buttonElement-button { &:hover, &:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } &:focus { border-color: var(--ooui-accent); } } } } &-actions { &-safe, &-other { .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } } &-safe { .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) { > .oo-ui-buttonElement-button { &:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } } } } } } .oo-ui-windowManager { &-modal { // bg behind windows > .oo-ui-dialog { background-color: var(--ooui-window-background); } // all popup windows > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } } // window outlines &-modal&-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } } // we need this one to be able to adjust the font color inside windows .oo-ui-window { color: var(--ooui-text); } /* ---------------------- tools ---------------------- */ .mw-tool-colored( @child /*, @color-text*/ , @hover, @active , @focus , @active-text: @active ) { // > @{child} { // color: @color-text; // } > @{child}:hover { background-color: @hover; } > @{child}:focus { outline: 1px solid @focus; box-shadow: inset 0 0 0 1px @focus; } > @{child}:active, &.oo-ui-tool-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { background-color: var(--ooui-normal--hover); color: @active-text; box-shadow: none; } } .mw-primary-tool-colored( @child, @color, @hover, @active, @focus ) { > @{child} { // color: @ooui-color-base--inverted; background-color: @color; } > @{child}:hover { background-color: @hover; } > @{child}:focus { // outline: @border-width-base @border-style-base @focus; box-shadow: inset 0 0 0 1px @focus, inset 0 0 0 2px @ooui-color-base--inverted; } > @{child}:active, &.oo-ui-tool-active > @{child} { // color: @ooui-color-base--inverted; background-color: @active; // box-shadow: none; } // &.oo-ui-widget-disabled > @{child}, // &.oo-ui-widget-disabled > @{child}:active { // background-color: @background-color-filled--disabled; // color: @color-filled--disabled; // } } @ooui-toolbar: var(--ooui-interface); @ooui-toolbar-border: var(--body-mid); // mainly used by ve and source editor // toolbar .oo-ui-toolbar { &-bar { background-color: @ooui-toolbar; color: var(--ooui-text); // toolbar borders .oo-ui-toolbar-position-top > & { border-bottom-color: @ooui-toolbar-border; } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: @ooui-toolbar-border; } } } .oo-ui-tool { &.oo-ui-widget-enabled { .mw-tool-colored( ~'.oo-ui-tool-link', var(--ooui-normal--hover), var(--ooui-accent), var(--ooui-accent) ); // &.oo-ui-flaggedElement { // &-progressive { // .mw-tool-colored( ~'.oo-ui-tool-link', @background-color-tool--hover, @color-primary--active, @color-primary--focus ); // } // &-destructive { // .mw-tool-colored( ~'.oo-ui-tool-link', @color-destructive-non-primary, @background-color-tool--hover, @color-destructive--active, @color-destructive--focus ); // } // } &.oo-ui-flaggedElement-primary { &.oo-ui-flaggedElement { &-progressive { .mw-primary-tool-colored( ~'.oo-ui-tool-link', var(--ooui-progressive), var(--ooui-progressive--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } // &-destructive { // .mw-primary-tool-colored( ~'.oo-ui-tool-link', @color-destructive, @color-destructive--hover, @color-destructive--active, @color-destructive--focus ); // } } } } } .oo-ui-listToolGroup { // eg "Page options" dropdown &-tools .oo-ui-tool { &.oo-ui-widget-enabled { background-color: var(--ooui-normal); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } } // does not match source ordering &-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive) } } } // left-hand tool group .oo-ui-menuToolGroup { border-left-color: @ooui-toolbar-border; border-right-color: @ooui-toolbar-border; } .oo-ui-popupToolGroup { // dropdown menu &-tools { background-color: @ooui-toolbar; border-color: @ooui-toolbar-border; } &.oo-ui-widget-enabled { // eg hover "Insert" > .oo-ui-popupToolGroup-handle { &:hover { background-color: var(--ooui-normal--hover); } &:focus { outline: 1px solid var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } // ve "Page options" again .oo-ui-toolbar-actions & { > .oo-ui-popupToolGroup-handle { &:hover { // same as button hover border-right-color: var(--ooui-normal--hover); } } } } // might not match source ordering &-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } &-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } &.oo-ui-popupToolGroup-active { > .oo-ui-popupToolGroup-handle { // aka active background-color: var(--ooui-normal); color: var(--ooui-accent); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } } } } /* ---------------------- layouts ---------------------- */ .oo-ui-bookletLayout { &-outlinePanel { > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } } // eg "Show options" in ve template editor > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } } .oo-ui-fieldLayout { // disabled text color in layouts &-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } } // ooui <fieldset> .oo-ui-panelLayout { &-framed { border-color: var(--sidebar); // along with <h1/2> border } } /* ---------------------- others ---------------------- */ .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } // --- widgets in core mediawiki --- // DateInputWidget .mw-widget-dateInputWidget { &-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &-calendar { background-color: var(--ooui-interface); } &.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } } // CalendarWidget .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } // focused month &-day, // week day name &-day-heading { color: var(--ooui-text); } // other months &-day-additional { color: var(--ooui-text); opacity: 0.67; } &-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } &-item { &:hover { background-color: var(--ooui-progressive); } &-selected { background-color: var(--ooui-progressive--hover); } } } // e.g. on [[Special:AbuseFilter/examine]] .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); &:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0,0,0,0.25); } &-grid { .mw-widgets-datetime-calendarWidget-cell { &.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button { .oo-ui-labelElement-label { color: var(--subtle-color); } } &.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } } } } // input box .mw-widgets-datetime-dateTimeInputWidget { &-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &.oo-ui-widget-enabled { &.mw-widgets-datetime-dateTimeInputWidget-handle { &:hover { border-color: var(--ooui-input-border--hover); } } &:hover { input, textarea { border-color: var(--ooui-input-border--hover); } } .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } } } c6402ba9f1e7746542f29218c2d4e9612b14c2ea 1675 1674 2024-04-01T00:00:28Z Merds 25 less less /* ====================== OOUI ====================== */ // MediaWiki documentation: <https://www.mediawiki.org/wiki/OOUI> // Interactive documentation: <https://doc.wikimedia.org/oojs-ui/master/demos/> // Styles repo directory: <https://github.com/wikimedia/oojs-ui/tree/master/src/themes/wikimediaui> // Variables @ooui-normal: #d1b9ad; /* body-mid */ @ooui-normal-border: #d1b9ad; /* body-border */ @ooui-progressive: #936243; @ooui-box-shadow-base--focus: inset 0 0 0 1px var(--ooui-accent); @ooui-box-shadow-input-binary--active: inset 0 0 0 1px var(--ooui-progressive--hover); @ooui-color-base--inverted: @white; :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255,255,255,0.5); // use the same styles for :hover AND :active // :focus will use the accent var --ooui-normal: darken( @ooui-normal, 2% ); // default styles basically add +2% luminance (from #f8f9fa to #ffffff) // there's also another hover color: #eaecf0 (like .oo-ui-tool-link:hover) // ...but we only have one var for button hover, so we should make sure // the color does not blend with its bg --ooui-normal--hover: lighten(@ooui-normal, 4%); --ooui-normal-border: @ooui-normal-border; // use separate color for progressive buttons - BUT use link-color for // anywhere else that uses progressive colors; this isnt the greatest idea // and unifying them is better in the longer term --ooui-progressive: @ooui-progressive; --ooui-progressive--hover: lighten(@ooui-progressive, 10%); // border and bg are the same in non-normal buttons --ooui-accent: var(--link-color); // probably not worth adjusting <textarea>/<input>-esque bg in light mode --ooui-input: #fff; --ooui-input-border: @ooui-normal-border; --ooui-input-border--hover: darken(@ooui-normal-border, 19%); --ooui-disabled: desaturate( lighten( @ooui-normal, 2%), 20% ); --ooui-disabled-border: desaturate( lighten( @ooui-normal-border, 10%), 12% ); --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, @SEARCH_BOX, @SEARCH_BOX 20px, @BODY_MAIN 20px, @BODY_MAIN 30px); } /* ---------------------- widgets ---------------------- */ // need this one to be able to adjust the font color inside popups and etc .oo-ui-widget { color: var(--ooui-text); } // combine checkbox and radio as theyre really similar .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); // same as bg for both } .oo-ui-dropdownWidget { &-handle { border-color: var(--ooui-normal-border); } &.oo-ui-widget-enabled &-handle { background-color: var(--ooui-normal); color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:active { color: var(--ooui-text); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-widget-enabled&-open &-handle { background-color: var(--ooui-normal--hover); } &.oo-ui-widget-disabled &-handle { color: var(--ooui-disabled-text); text-shadow: none; // wont look good on dark mode border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } } // input dropdowns .oo-ui-dropdownInputWidget { // ooui styled dropdown thats actually an html <select> select { border-color: var(--ooui-normal-border); } option { background-color: var(--ooui-interface); } &.oo-ui-widget-enabled { background-color: var(--ooui-normal); &:hover { background-color: var(--ooui-normal--hover); } select { color: var(--ooui-text); &:hover, &:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } // there's a `oo-ui-indicator-down` class here that adds the pointer // icon, it's not a separate element so invert filter for dark mode // is infeasible } } } // in Special:Preferences .oo-ui-labelWidget { &.oo-ui-inline-help { color: var(--byline-color); } } // dropdown selection menu .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); &-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } // options eg. on page deletion/move .oo-ui-menuOptionWidget { // hover &.oo-ui-optionWidget { // hover and selected option &-highlighted, // combined &-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } // hover on chosen option &-selected&-highlighted, &-pressed&-highlighted { color: var(--ooui-accent); } } // hover again &.oo-ui-widget-enabled { &.oo-ui-optionWidget { color: var(--ooui-text); } } // highlight & hover eg page deletion reason // &.oo-ui-optionWidget-selected&.oo-ui-optionWidget-highlighted, // &.oo-ui-optionWidget-pressed&.oo-ui-optionWidget-highlighted { // // } } .oo-ui-messageDialog { // eg exiting out editor without saving the edit modal &-title { color: inherit; } } .oo-ui-messageWidget { // all .messagebox like boxes &.oo-ui-messageWidget-block { // matching .errorbox &.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } // eg warning when there's templatedata when editing a template // matching .warningbox &.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } // matching .successbox &.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } &.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } } // ideally we would use our own success and error colors, but this will do for now &.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), &.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } } .oo-ui-optionWidget { &.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } // eg in ve "Options" window .oo-ui-outlineOptionWidget { &.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } } .oo-ui-popupWidget { // Popups eg when interacting with templates in ve &-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } // popups anchors/arrow .ooui-anchor(@direction) { .oo-ui-popupWidget-anchor:after { border-@{direction}-color: var(--ooui-interface); } .oo-ui-popupWidget-anchor:before { border-@{direction}-color: var(--ooui-interface-border); } } &-anchored- { &top { .ooui-anchor(bottom); } &bottom { .ooui-anchor(top); } &start { .ooui-anchor(right); } &end { .ooui-anchor(left); } } } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget { &-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } &.oo-ui-widget-enabled { &.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); &:hover { border-color: var(--ooui-input-border--hover); } } } } .oo-ui-tabOptionWidget { color: var(--ooui-text); .oo-ui-tabSelectWidget-framed & { &.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); & .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } } &.oo-ui-widget-enabled { &:hover, &:active { background-color: var(--body-light); color: var(--ooui-text); } &.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } } } .oo-ui-tabSelectWidget-frameless & { &.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); &:hover, &:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } } } } .oo-ui-tabSelectWidget { // eg used on [[Special:Preferences]] &-framed { background: none; // actually uses something like --ooui-interface border-bottom: 1px solid var(--ooui-interface-border); // our customisation } // used in TabberNeue (even though we dont have it) &-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } &-mobile { // both use the following mixin in core; but we already have a similar // var in minerva.css for these stuff already used in navboxes /* .oo-ui-horizontal-gradient( @startColor: #eee, @endColor: #fff, @startPos: 0, @endPos: 100% ) { background-color: average( @startColor, @endColor ); background-image: linear-gradient( to right, @startColor @startPos, @endColor @endPos ); } */ &.oo-ui-tabSelectWidget-framed:after { // background instead of -image so the prev properties used as // fallback for ancient browsers are reset background: var(--mobile-navbox-linear-gradient); } &.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } } } // eg recent changes selected filter tag .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); &.oo-ui-widget-enabled { color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } & .oo-ui-buttonElement-button { &:hover { background-color: var(--ooui-normal--hover); } } } } .oo-ui-tagMultiselectWidget { // rc/watchlist filter box &.oo-ui-widget-enabled { background-color: var(--ooui-interface); // and again - this time it's button bg &.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } } } } .oo-ui-textInputWidget { // eg RecentChanges filter changes input .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &.oo-ui-widget-enabled { .oo-ui-inputWidget-input { &::placeholder { color: var(--subtle-color); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } &[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } } &:hover { .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); &:focus { border-color: var(--ooui-accent); } } } @media screen { @media ( min-width: 0 ) { textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } } } &.oo-ui-widget-disabled { .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; // wont look good on dark mode border-color: var(--ooui-disabled-border); } } } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); &.oo-ui-widget-enabled { .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } &:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } } &:active, &:active:hover, &:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } } &.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } &:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:active, &:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:focus { border-color: var(--ooui-progressive); &::before { border-color: @ooui-color-base--inverted; } } } } &.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); // same as bg } } /* ---------------------- elements/buttons ---------------------- */ // mixin for frameless progressive/destructive button .mw-frameless-button-colored( @child, @color-text ) { > @{child}, // no distinct color for hover > @{child}:hover { color: @color-text; } > @{child}:active, &.oo-ui-buttonElement-pressed > @{child} { // dont differentiate between :active and normal color: @color-text; border-color: @color-text; } } .mw-framed-button-colored( @child, @color-text, @hover, @border-color--hover, /* @active,*/ @focus ) { > @{child} { color: @color-text; } > @{child}:hover { background-color: @hover; border-color: @border-color--hover; } > @{child}:focus { border-color: @focus; box-shadow: inset 0 0 0 1px @focus; } /* ugh uses lighten() > @{child}:active, &.oo-ui-buttonElement-pressed > @{child}, &.oo-ui-buttonElement-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { background-color: lighten( @active, 60% ); color: @active; border-color: @active; } */ } // mixin for framed progressive/destructive button .mw-framed-primary-button-colored( @child, @color, @hover, @active, @focus ) { > @{child} { background-color: @color; border-color: @color; } > @{child}:hover { background-color: @hover; border-color: @hover; } > @{child}:focus { border-color: @focus; box-shadow: inset 0 0 0 1px @focus, inset 0 0 0 2px @ooui-color-base--inverted; } > @{child}:active, &.oo-ui-buttonElement-pressed > @{child}, &.oo-ui-buttonElement-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { color: @ooui-color-base--inverted; background-color: @active; border-color: @active; } } .oo-ui-buttonElement { &-frameless { &.oo-ui-widget-enabled { > .oo-ui-buttonElement-button { color: var(--ooui-text); &:hover { color: var(--ooui-text); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } &.oo-ui-flaggedElement { &-progressive { .mw-frameless-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-text) ); // try out using text color as the button label like hard-coded darkmode } // not needed // &-destructive { // .mw-frameless-button-colored( ~'.oo-ui-buttonElement-button' ); // } } } &.oo-ui-widget-disabled { > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } } } &-framed { &.oo-ui-widget-disabled { > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } } &.oo-ui-widget-enabled { > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; // needed, else it would be overriden by non-active styles border-color: var(--ooui-progressive--hover); &:focus { border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-base--focus; } } // same as :hover above > .oo-ui-buttonElement-button:active, &.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &.oo-ui-flaggedElement { &-progressive { .mw-framed-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-text), var(--ooui-normal--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } &-destructive { // .mw-framed-button-colored( ~'.oo-ui-buttonElement-button', @color-destructive-non-primary, @background-color-framed--hover, @border-color-framed-destructive--hover, @color-destructive--active, @color-destructive--focus ); // since we arent changing destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); } } } } &.oo-ui-flaggedElement-primary { &.oo-ui-flaggedElement { &-progressive { .mw-framed-primary-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-progressive), var(--ooui-progressive--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } // dont need // &-destructive { // .mw-framed-primary-button-colored( ~'.oo-ui-buttonElement-button' ); // } } } } } } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } } /* ---------------------- windows ---------------------- */ .oo-ui-messageDialog { &-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } &-message { color: var(--ooui-text); } &-actions { // eg ace editor "Go to line number..." window &-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } &-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } } } .oo-ui-processDialog { &-content { .oo-ui-window-head, .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } } // need to reoverride so buttons wont have weird borders .oo-ui-actionWidget { > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; &:hover, &:active { border-top-color: transparent; border-bottom-color: transparent; } } &:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) { > .oo-ui-buttonElement-button { &:hover, &:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } &:focus { border-color: var(--ooui-accent); } } } } &-actions { &-safe, &-other { .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } } &-safe { .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) { > .oo-ui-buttonElement-button { &:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } } } } } } .oo-ui-windowManager { &-modal { // bg behind windows > .oo-ui-dialog { background-color: var(--ooui-window-background); } // all popup windows > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } } // window outlines &-modal&-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } } // we need this one to be able to adjust the font color inside windows .oo-ui-window { color: var(--ooui-text); } /* ---------------------- tools ---------------------- */ .mw-tool-colored( @child /*, @color-text*/ , @hover, @active , @focus , @active-text: @active ) { // > @{child} { // color: @color-text; // } > @{child}:hover { background-color: @hover; } > @{child}:focus { outline: 1px solid @focus; box-shadow: inset 0 0 0 1px @focus; } > @{child}:active, &.oo-ui-tool-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { background-color: var(--ooui-normal--hover); color: @active-text; box-shadow: none; } } .mw-primary-tool-colored( @child, @color, @hover, @active, @focus ) { > @{child} { // color: @ooui-color-base--inverted; background-color: @color; } > @{child}:hover { background-color: @hover; } > @{child}:focus { // outline: @border-width-base @border-style-base @focus; box-shadow: inset 0 0 0 1px @focus, inset 0 0 0 2px @ooui-color-base--inverted; } > @{child}:active, &.oo-ui-tool-active > @{child} { // color: @ooui-color-base--inverted; background-color: @active; // box-shadow: none; } // &.oo-ui-widget-disabled > @{child}, // &.oo-ui-widget-disabled > @{child}:active { // background-color: @background-color-filled--disabled; // color: @color-filled--disabled; // } } @ooui-toolbar: var(--ooui-interface); @ooui-toolbar-border: var(--body-mid); // mainly used by ve and source editor // toolbar .oo-ui-toolbar { &-bar { background-color: @ooui-toolbar; color: var(--ooui-text); // toolbar borders .oo-ui-toolbar-position-top > & { border-bottom-color: @ooui-toolbar-border; } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: @ooui-toolbar-border; } } } .oo-ui-tool { &.oo-ui-widget-enabled { .mw-tool-colored( ~'.oo-ui-tool-link', var(--ooui-normal--hover), var(--ooui-accent), var(--ooui-accent) ); // &.oo-ui-flaggedElement { // &-progressive { // .mw-tool-colored( ~'.oo-ui-tool-link', @background-color-tool--hover, @color-primary--active, @color-primary--focus ); // } // &-destructive { // .mw-tool-colored( ~'.oo-ui-tool-link', @color-destructive-non-primary, @background-color-tool--hover, @color-destructive--active, @color-destructive--focus ); // } // } &.oo-ui-flaggedElement-primary { &.oo-ui-flaggedElement { &-progressive { .mw-primary-tool-colored( ~'.oo-ui-tool-link', var(--ooui-progressive), var(--ooui-progressive--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } // &-destructive { // .mw-primary-tool-colored( ~'.oo-ui-tool-link', @color-destructive, @color-destructive--hover, @color-destructive--active, @color-destructive--focus ); // } } } } } .oo-ui-listToolGroup { // eg "Page options" dropdown &-tools .oo-ui-tool { &.oo-ui-widget-enabled { background-color: var(--ooui-normal); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } } // does not match source ordering &-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive) } } } // left-hand tool group .oo-ui-menuToolGroup { border-left-color: @ooui-toolbar-border; border-right-color: @ooui-toolbar-border; } .oo-ui-popupToolGroup { // dropdown menu &-tools { background-color: @ooui-toolbar; border-color: @ooui-toolbar-border; } &.oo-ui-widget-enabled { // eg hover "Insert" > .oo-ui-popupToolGroup-handle { &:hover { background-color: var(--ooui-normal--hover); } &:focus { outline: 1px solid var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } // ve "Page options" again .oo-ui-toolbar-actions & { > .oo-ui-popupToolGroup-handle { &:hover { // same as button hover border-right-color: var(--ooui-normal--hover); } } } } // might not match source ordering &-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } &-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } &.oo-ui-popupToolGroup-active { > .oo-ui-popupToolGroup-handle { // aka active background-color: var(--ooui-normal); color: var(--ooui-accent); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } } } } /* ---------------------- layouts ---------------------- */ .oo-ui-bookletLayout { &-outlinePanel { > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } } // eg "Show options" in ve template editor > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } } .oo-ui-fieldLayout { // disabled text color in layouts &-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } } // ooui <fieldset> .oo-ui-panelLayout { &-framed { border-color: var(--sidebar); // along with <h1/2> border } } /* ---------------------- others ---------------------- */ .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } // --- widgets in core mediawiki --- // DateInputWidget .mw-widget-dateInputWidget { &-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &-calendar { background-color: var(--ooui-interface); } &.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } } // CalendarWidget .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } // focused month &-day, // week day name &-day-heading { color: var(--ooui-text); } // other months &-day-additional { color: var(--ooui-text); opacity: 0.67; } &-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } &-item { &:hover { background-color: var(--ooui-progressive); } &-selected { background-color: var(--ooui-progressive--hover); } } } // e.g. on [[Special:AbuseFilter/examine]] .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); &:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0,0,0,0.25); } &-grid { .mw-widgets-datetime-calendarWidget-cell { &.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button { .oo-ui-labelElement-label { color: var(--subtle-color); } } &.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } } } } // input box .mw-widgets-datetime-dateTimeInputWidget { &-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &.oo-ui-widget-enabled { &.mw-widgets-datetime-dateTimeInputWidget-handle { &:hover { border-color: var(--ooui-input-border--hover); } } &:hover { input, textarea { border-color: var(--ooui-input-border--hover); } } .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } } } d52e748824997f9c7a0f82895d0334aa2e7cab1a MediaWiki:Common.less/templates.less 8 25 1677 938 2024-04-01T01:01:55Z Merds 25 less less /* ================== TEMPLATES ==================*/ :root { --keypress-background: @gallery; --keypress-border: @silver; --keypress-color: @mineshaft; } // TOC .toc { .toctitle > * { color: @white; } } // NAVBOX .navbox { .navbox-title { color: @white; } } // Template:Archive list .archivelist { background-color: @infobox-background; border: solid 1px @infobox-border-color; box-shadow: @box-shadow; float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } // Template:Shortcut .shortcut { border: 1px solid @infobox-border-color; background: @infobox-background; float: right; font-size: .8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } // Hatnotes: [[Module:Hatnote]] .hatnote, .seealso { font-style: italic; i { font-style: normal; } } // two classes - hatnote gets much customisation in minerva but seealso doesnt div.hatnote, div.seealso { // 0.5em is <p>'s top and bottom margin // 1.6em to match <dd>/<ul> indent margin: .5em 1.6em; & + & { margin-top: -0.5em; } } // Template:Key press .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: @border-radius; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } 01ad105ec996ef92464fa9ca9780128a0fd50e12 1679 1677 2024-04-01T01:03:18Z Merds 25 less less /* ================== TEMPLATES ==================*/ :root { --keypress-background: @gallery; --keypress-border: @silver; --keypress-color: @mineshaft; } // TOC .toc { .toctitle > * { color: @white; } } // NAVBOX .navbox { .navbox-title { color: @white; } .navbox-list { &:not:(last-child) { border-bottom: none; } } } // Template:Archive list .archivelist { background-color: @infobox-background; border: solid 1px @infobox-border-color; box-shadow: @box-shadow; float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } // Template:Shortcut .shortcut { border: 1px solid @infobox-border-color; background: @infobox-background; float: right; font-size: .8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } // Hatnotes: [[Module:Hatnote]] .hatnote, .seealso { font-style: italic; i { font-style: normal; } } // two classes - hatnote gets much customisation in minerva but seealso doesnt div.hatnote, div.seealso { // 0.5em is <p>'s top and bottom margin // 1.6em to match <dd>/<ul> indent margin: .5em 1.6em; & + & { margin-top: -0.5em; } } // Template:Key press .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: @border-radius; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } 07f1f2b273c67f93774a9c1b1f71cbc03f0ac525 1680 1679 2024-04-01T01:04:26Z Merds 25 less less /* ================== TEMPLATES ==================*/ :root { --keypress-background: @gallery; --keypress-border: @silver; --keypress-color: @mineshaft; } // TOC .toc { .toctitle > * { color: @white; } } // NAVBOX .navbox { .navbox-title { color: @white; } .navbox-list { &:not(last-child) { border-bottom: none; } } } // Template:Archive list .archivelist { background-color: @infobox-background; border: solid 1px @infobox-border-color; box-shadow: @box-shadow; float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } // Template:Shortcut .shortcut { border: 1px solid @infobox-border-color; background: @infobox-background; float: right; font-size: .8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } // Hatnotes: [[Module:Hatnote]] .hatnote, .seealso { font-style: italic; i { font-style: normal; } } // two classes - hatnote gets much customisation in minerva but seealso doesnt div.hatnote, div.seealso { // 0.5em is <p>'s top and bottom margin // 1.6em to match <dd>/<ul> indent margin: .5em 1.6em; & + & { margin-top: -0.5em; } } // Template:Key press .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: @border-radius; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } 72a9272f17ac98afd882f7ef92c7a7b5f78e6ec7 MediaWiki:Common.less/tiles.less 8 50 1683 1571 2024-04-01T01:18:49Z Merds 25 less less /* --------------------- tiles --------------------- */ // mainpage.less relies on this; check before changing anything :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); // match --byline-color --tile-border-color: @BODY_DARK; --tile-background-color: @BODY_DARK; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: saturate( darken( #e2d2ba, 2.5% ), 2% ); --tile-dark-color: @white; --tile-dark-bg: @BODY_DARK; --tile-dark-link-color: #ccc; --tile-dark-byline-color: fade( @white, 70% ); --tile-dark-header-color: @white; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: @box-shadow; padding: 1.5em 2em 1em; max-width: 40em; h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 .4em; } // reduce spacing when byline and heading appear together // (which should be the only way bylines appear) .byline + h2 { margin-top: -0.5em; } &.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: @box-shadow-dark; h2 { color: var(--tile-dark-header-color); } a { color: var(--tile-dark-link-color); } .byline { color: var(--tile-dark-byline-color); } } } .byline { font-size: .9em; color: var(--byline-color); a { color: var(--byline-color); } } /* --------------------- tile halves --------------------- */ // contains .tile or .tile-halves .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: @box-shadow; h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 .4em; } .byline + h2 { margin-top: -0.5em; } } // goes inside .tile-halves .tile-top { width: 100%; padding: 1.3rem 1.5rem .6rem; &.tile-image { display: flex; align-items: center; // vertically center images background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: .4s ease-out; .tile-halves:hover & img { transform: scale(1.1); transition: .5s ease-out; } a { width: 100%; } img { width: 100%; object-fit: cover; max-height: 200px; transition: .4s ease-out; } } } // goes inside .tile-halves .tile-bottom { background: var(--tile-background-color); width: 100%; padding: 1rem 1.5rem .6rem; h2 { a { color: @white; } } &.link-button { align-self: flex-end; // have link stick to the bottom padding: 0; a { display: block; text-align: center; padding: .75em 1.5em .8em; text-decoration: none; } } // must be used in conjunction with .link-button &.read-more { background: var(--tile-link-button-color); transition: .3s ease-out; a { color: var(--byline-color); font-weight: bold; text-align: right; } &:hover { background: var(--tile-link-button-highlight-color); .arrow { transform: translateX(50%); } } .arrow { filter: var(--byline-arrow-filter); margin-left: .4em; transition: .3s ease-out; } } } f47e5d896f4b587bd3847572ad32c079789b3e05 1687 1683 2024-04-01T01:24:27Z Merds 25 less less /* --------------------- tiles --------------------- */ // mainpage.less relies on this; check before changing anything :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); // match --byline-color --tile-border-color: @BODY_BORDER; --tile-background-color: @BODY_LIGHT; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: saturate( darken( #e2d2ba, 2.5% ), 2% ); --tile-dark-color: @white; --tile-dark-bg: @BODY_DARK; --tile-dark-link-color: #ccc; --tile-dark-byline-color: fade( @white, 70% ); --tile-dark-header-color: @white; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: @box-shadow; padding: 1.5em 2em 1em; max-width: 40em; h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 .4em; } // reduce spacing when byline and heading appear together // (which should be the only way bylines appear) .byline + h2 { margin-top: -0.5em; } &.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: @box-shadow-dark; h2 { color: var(--tile-dark-header-color); } a { color: var(--tile-dark-link-color); } .byline { color: var(--tile-dark-byline-color); } } } .byline { font-size: .9em; color: var(--byline-color); a { color: var(--byline-color); } } /* --------------------- tile halves --------------------- */ // contains .tile or .tile-halves .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: @box-shadow; h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 .4em; } .byline + h2 { margin-top: -0.5em; } } // goes inside .tile-halves .tile-top { width: 100%; padding: 1.3rem 1.5rem .6rem; &.tile-image { display: flex; align-items: center; // vertically center images background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: .4s ease-out; .tile-halves:hover & img { transform: scale(1.1); transition: .5s ease-out; } a { width: 100%; } img { width: 100%; object-fit: cover; max-height: 200px; transition: .4s ease-out; } } } // goes inside .tile-halves .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem .6rem; h2 { a { color: @white; } } &.link-button { align-self: flex-end; // have link stick to the bottom padding: 0; a { display: block; text-align: center; padding: .75em 1.5em .8em; text-decoration: none; } } // must be used in conjunction with .link-button &.read-more { background: var(--tile-link-button-color); transition: .3s ease-out; a { color: var(--byline-color); font-weight: bold; text-align: right; } &:hover { background: var(--tile-link-button-highlight-color); .arrow { transform: translateX(50%); } } .arrow { filter: var(--byline-arrow-filter); margin-left: .4em; transition: .3s ease-out; } } } 284436d08e52ff86e303d333edfaae7847e2cf3d 1689 1687 2024-04-01T01:25:53Z Merds 25 less less /* --------------------- tiles --------------------- */ // mainpage.less relies on this; check before changing anything :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); // match --byline-color --tile-border-color: @BODY_BORDER; --tile-background-color: @BODY_LIGHT; --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: saturate( darken( #e2d2ba, 2.5% ), 2% ); --tile-dark-color: @white; --tile-dark-bg: @BODY_DARK; --tile-dark-link-color: #ccc; --tile-dark-byline-color: fade( @white, 70% ); --tile-dark-header-color: @white; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: @box-shadow; padding: 1.5em 2em 1em; max-width: 40em; h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 .4em; } // reduce spacing when byline and heading appear together // (which should be the only way bylines appear) .byline + h2 { margin-top: -0.5em; } &.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: @box-shadow-dark; h2 { color: var(--tile-dark-header-color); } a { color: var(--tile-dark-link-color); } .byline { color: var(--tile-dark-byline-color); } } } .byline { font-size: .9em; color: var(--byline-color); a { color: var(--byline-color); } } /* --------------------- tile halves --------------------- */ // contains .tile or .tile-halves .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: @box-shadow; h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 .4em; } .byline + h2 { margin-top: -0.5em; } } // goes inside .tile-halves .tile-top { width: 100%; padding: 1.3rem 1.5rem .6rem; &.tile-image { display: flex; align-items: center; // vertically center images background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: .4s ease-out; .tile-halves:hover & img { transform: scale(1.1); transition: .5s ease-out; } a { width: 100%; } img { width: 100%; object-fit: cover; max-height: 200px; transition: .4s ease-out; } } } // goes inside .tile-halves .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem .6rem; h2 { a { color: @white !important; } } &.link-button { align-self: flex-end; // have link stick to the bottom padding: 0; a { display: block; text-align: center; padding: .75em 1.5em .8em; text-decoration: none; } } // must be used in conjunction with .link-button &.read-more { background: var(--tile-link-button-color); transition: .3s ease-out; a { color: var(--byline-color); font-weight: bold; text-align: right; } &:hover { background: var(--tile-link-button-highlight-color); .arrow { transform: translateX(50%); } } .arrow { filter: var(--byline-arrow-filter); margin-left: .4em; transition: .3s ease-out; } } } db9358d71ee447d1818b205f85c80d2fe57480b8 MediaWiki:Minerva.less/tiles.less 8 419 1684 674 2024-04-01T01:20:44Z Merds 25 less less // standard tile class // mainpage.less relies on this; check before changing anything /* ------------------ tile ------------------ */ .tile { padding: 1.5em 2em 1em; h2 { font-weight: 600; border: none; margin-top: .4em; }o // reduce spacing when byline and heading appear together // (which should be the only way bylines appear) .byline + h2 { margin-top: -0.5em; } } /* ------------------ halves ------------------ */ .tile-row { background: var(--body-light); border: 1px solid var(-body-border); } // goes inside tile-halves .tile-top { padding: 1.3rem 1.5rem 2rem; } // goes inside tile-halves .tile-bottom { padding: 1rem 1.5rem 2rem; &.read-more { padding: 0; a { padding: 1em 1.75em; } } } c64f96071e566f2cbc87e56741734d84fef3fbe0 1690 1684 2024-04-01T01:27:20Z Merds 25 less less // standard tile class // mainpage.less relies on this; check before changing anything /* ------------------ tile ------------------ */ .tile { padding: 1.5em 2em 1em; h2 { font-weight: 600; border: none; margin-top: .4em; } // reduce spacing when byline and heading appear together // (which should be the only way bylines appear) .byline + h2 { margin-top: -0.5em; } } /* ------------------ halves ------------------ */ .tile-row { background: var(--body-light) !important; border: 1px solid var(--body-border); } // goes inside tile-halves .tile-top { padding: 1.3rem 1.5rem 2rem; } // goes inside tile-halves .tile-bottom { padding: 1rem 1.5rem 2rem; &.read-more { padding: 0; a { padding: 1em 1.75em; } } } 74dbb79884fc01f83e524a5e4880591959c977cf MediaWiki:Minerva.css 8 422 1686 1168 2024-04-01T01:21:00Z Merds 25 Updating CSS from [[MediaWiki:Minerva.less]] css text/css /* <pre> */ body { font-family: system-ui, -apple-system, Roboto, Helvetica, sans-serif; } @media all and (max-width: 320px) { body { font-size: 0.9em; } } .content { line-height: 1.7; } .pre-content h1, .content h1, .content h2 { font-weight: bold; } body { background: var(--body-background-color); color: var(--text-color); } select { color: var(--text-color); } a:not( [ href ] ) { color: inherit; } a.external, .mw-parser-output a.external { background-image: var(--external-icon); } blockquote { border-color: var(--body-mid); font-family: inherit; } .pre-content h1 { text-align: center; } .mw-parser-output h2:first-of-type { clear: both; } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .plainlist ol, .content .plainlist ul { padding: 0; } .content p { margin: 0.5em 0; } .content hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } .content kbd, .content samp { border: none; } .content code, .content pre { background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='%23000'%3E%3Cpath d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM3 8a5 5 0 1 0 10 0A5 5 0 1 0 3 8z'/%3E%3C/g%3E%3C/svg%3E"); --external-icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cg fill='%23906039'%3E%3Cpath d='M8.9 8.9H1.1V1.1h2.8V0H1.1C.5 0 0 .5 0 1.1v7.8C0 9.5.5 10 1.1 10h7.8c.6 0 1.1-.5 1.1-1.1V6.1H8.9v2.8z'/%3E%3Cpath d='M10 0H5.6l1.8 1.8L4.2 5l.8.8 3.2-3.2L10 4.4V0z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-center { background-color: transparent; } .header { border-top: none; } .header-container.header-chrome { background: var(--body-background-image) var(--body-background-color) no-repeat; background-color: var(--body-background-color); background-size: 900px; box-shadow: inset 0 -1px 3px rgba(0, 0, 0, 0.1); } .header-container .notification-count { border-radius: 50%; } .header-container .notification-count.notification-unseen { background: none; } .header-container .branding-box { opacity: 1; } .search-box { text-align: right; } .search-box .search { background-color: var(--search-box); border-color: var(--search-box); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .search-box .search::placeholder { color: var(--byline-color); } .client-nojs .search-box .search:focus, .search-overlay .search-box .search:focus { border-color: var(--link-color); box-shadow: inset 0 0 0 1px var(--link-color), 0 1px 1px rgba(0, 0, 0, 0.05); } .mw-ui-background-icon-search { background-image: var(--searchbutton-icon); } .overlay { background: var(--body-main); } .overlay textarea { color: var(--text-color); } .overlay.search-overlay { background: var(--body-main); } .overlay.search-overlay .results, .overlay.search-overlay .search-feedback { background-color: var(--body-light); } .overlay.search-overlay .search-content { border-color: var(--body-mid); } .overlay .license { color: var(--base-text-color); } .overlay .panel { border-color: var(--sidebar); } .overlay .content-header { background-color: var(--body-light); border-color: transparent; } .overlay.overlay-loading { background: var(--ooui-window-background); } .overlay .overlay-content { background: var(--body-main); } .page-summary h2, .page-summary h3 { color: var(--text-color); } .page-list li, .topic-title-list li, .site-link-list li { border-color: var(--body-mid); } .overlay-enabled .overlay:not(.editor-overlay), .overlay-enabled #mw-mf-page-center { overflow-y: scroll; } .overlay-header-container, .overlay-footer-container { background-color: var(--body-background-color); border-color: transparent; } .editor-overlay .wikitext-editor { color: var(--text-color); } .editor-overlay .overlay-header { outline-color: transparent; } .editor-overlay .summary-request { color: var(--text-color); } .editor-overlay .editor-switcher { border: none; } .action-submit .mw-editnotice .action-edit .mw-editnotice, .action-submit .mw-editTools, .action-edit .mw-editTools, .action-submit .preview-limit-report-wrapper, .action-edit .preview-limit-report-wrapper, .action-submit .diff-otitle, .action-edit .diff-otitle, .action-submit .diff-ntitle, .action-edit .diff-ntitle, .action-submit #section_0, .action-edit #section_0, .action-submit #editpage-copywarn, .action-edit #editpage-copywarn, .action-submit #mw-anon-edit-warning, .action-edit #mw-anon-edit-warning { color: var(--byline-color); } .wikitext-editor { background-color: var(--body-main); } .ve-mobile-fakeToolbar { border: none; } .ve-mobile-fakeToolbar-container { background: var(--body-background-color); border: none; } .ve-mobile-fakeToolbar .mw-ui-icon-mf-spinner { border-color: transparent; } .ve-ui-targetToolbar-mobile .oo-ui-toolbar-tools > .ve-ui-toolbar-group-back { border-color: transparent; } .ve-ui-mobileContext { background-color: var(--body-light); border-color: var(--body-light); } .ve-ui-mobileContext .ve-ui-linearContextItem-body-action-wrapper { border-color: var(--body-border); } .ve-ui-linearContextItem-foot:not(:empty) { border-color: var(--body-border); } .ve-ui-mwSaveDialog-options { backgroubd-color: var(--body-light); border-color: var(--body-mid); } .page-actions-menu { border-color: var(--sidebar); } #language-selector { display: none; } .minerva__tab-container .minerva__tab { color: var(--text-color); } .minerva__tab-container .minerva__tab.new, .minerva__tab-container .minerva__tab.new:visited, .minerva__tab-container .minerva__tab.new:hover, .minerva__tab-container .minerva__tab.new:active { color: var(--redlink-color); } .minerva__tab-container .minerva__tab.selected { border-color: var(--body-border); } .heading-holder .tagline { color: var(--base-heading-color); } .minerva-footer { border-color: transparent; } .mw-footer > .post-content { margin-top: 32px; } .mw-footer > .post-content > .minerva-footer-logo { display: none; } .mw-footer .hlist li:after { color: var(--background-text-color); } .last-modified-bar { border-top: 1px solid; border-color: transparent; background: none; color: var(--text-color); } .last-modified-bar a, .last-modified-bar a:active, .last-modified-bar a:visited, .last-modified-bar .last-modified-text-accent { color: var(--background-text-color); } .last-modified-bar.active, .last-modified-bar.active:active, .last-modified-bar.active:visited, .last-modified-bar.active .last-modified-text-accent { color: #fff; } .mw-ui-icon-mf-expand-gray:not(.mw-ui-icon-mf-expand-invert):before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eexpand%3C/title%3E%3Cg fill='%2354595d'%3E%3Cpath d='M17.5 4.75l-7.5 7.5-7.5-7.5L1 6.25l9 9 9-9z'/%3E%3C/g%3E%3C/svg%3E"); } .toggle-list__list { background-color: var(--wikitable-bg); } .toggle-list-item__anchor:visited, .toggle-list-item__anchor:active { color: var(--base-text-color); } .toggle-list-item:hover { background: var(--wikitable-bg-lighter); } .toggle-list-item__label { color: var(--base-text-color); } .mw-ui-icon-wikimedia-search-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esearch%3C/title%3E%3Cg fill='white'%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 111.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 113 8a5 5 0 0110 0z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-menu-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Emenu%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M1 3v2h18V3zm0 8h18V9H1zm0 6h18v-2H1z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-bellOutline-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Ebell%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M11.5 2.19C14.09 2.86 16 5.2 16 8v6l2 2v1H2v-1l2-2V8c0-2.8 1.91-5.14 4.5-5.81V1.5C8.5.67 9.17 0 10 0s1.5.67 1.5 1.5v.69zM10 4C7.79 4 6 5.79 6 8v7h8V8c0-2.21-1.79-4-4-4zM8 18h4c0 1.1-.9 2-2 2s-2-.9-2-2z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-minerva-userAvatarOutline:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Euser avatar%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M10 8c1.7 0 3.06-1.35 3.06-3S11.7 2 10 2 6.94 3.35 6.94 5 8.3 8 10 8zm0 2c-2.8 0-5.06-2.24-5.06-5S7.2 0 10 0s5.06 2.24 5.06 5-2.26 5-5.06 5zm-7 8h14v-1.33c0-1.75-2.31-3.56-7-3.56s-7 1.81-7 3.56V18zm7-6.89c6.66 0 9 3.33 9 5.56V20H1v-3.33c0-2.23 2.34-5.56 9-5.56z'/%3E%3C/g%3E%3C/svg%3E%0A"); } @media all and (min-width: 1000px) { .mw-ui-icon-with-label-desktop, .mw-ui-icon-with-label-desktop:hover, .mw-ui-icon-with-label-desktop:focus, .mw-ui-icon-with-label-desktop:active, .mw-ui-icon-with-label-desktop:visited { color: var(--base-text-color) !important; } } .header-action .mw-ui-icon-mf-close-base20:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclose%3C/title%3E%3Cg fill='%23fff'%3E%3Cpath d='m4.3 2.9 12.8 12.8-1.4 1.4L2.9 4.3z'/%3E%3Cpath d='M17.1 4.3 4.3 17.1l-1.4-1.4L15.7 2.9z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-left { background-color: var(--body-background-color); } #mw-mf-page-left .secondary-action { border-left-color: var(--body-mid); } #mw-mf-page-left ul li { background-color: var(--body-main); border-color: var(--body-mid); } #mw-mf-page-left ul li a { color: var(--base-text-color); } #mw-mf-page-left ul li a:hover { box-shadow: inset 4px 0 0 0 var(--link-color); } #mw-mf-page-left ul.hlist li a { color: var(--background-link-color); } #mw-mf-page-left ul.hlist li a span { font-size: 0.8125rem; } .notifications-overlay.navigation-drawer { box-shadow: -1px 0 8px 0 rgba(0, 0, 0, 0.35); } .notifications-overlay .mw-echo-ui-actionMenuPopupWidget-menu { border: none; } .mw-ui-anchor.mw-ui-progressive, .mw-ui-anchor.mw-ui-progressive:active, .mw-ui-anchor.mw-ui-progressive:hover, .mw-ui-anchor.mw-ui-progressive:focus { color: var(--link-color); } .minerva-talk-full-page-button { background-color: var(--body-main); border-color: var(--body-dark); color: var(--link-color); } .minerva-talk-content-explained { border-color: var(--sidebar); color: var(--base-text-color); } .talk-overlay .comment .wikitext-editor { border-color: var(--body-border); } .client-js .skin-minerva--talk-simplified .section-heading { border-color: var(--sidebar); } .mw-notification a, .toast a { color: var(--link-color); } .drawer { background-color: var(--body-light); } .drawer.references-drawer { background-color: var(--body-light); color: var(--text-color); } .drawer.references-drawer a { color: var(--link-color); } .drawer.references-drawer .references-drawer__title { color: var(--text-color); } .drawer.references-drawer .mw-ui-icon::before { filter: brightness(0); } .cta-holder { background: var(--body-light); } .cta-holder .desc { color: var(--byline-color); } .mw-tag-marker { border-color: var(--body-border); } .oo-ui-toolGroup { background: var(--body-background-color); } .load-fail-msg { color: var(--text-color); } .load-fail-msg-link a { color: var(--link-color); } .image-carousel .image-loaded { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E%0A") repeat; } .image-details { background-color: var(--body-light); border-color: transparent; } @media all and (min-width: 720px) { .ns-special .pre-content { background-color: transparent; } .ns-special .mw-body { background: var(--body-main); } .ns-special .mw-body form { background: transparent; } } form.mw-mf-settings .oo-ui-fieldLayout, form.mw-mf-settings .oo-ui-fieldLayout:first-child { border-color: var(--body-mid); } .ns-special .content-header { border-bottom-color: var(--body-dark); } .action-history .mw-history-compareselectedversions { background-color: var(--body-main); } .action-history #pagehistory li:not(.selected) { border-bottom-color: var(--sidebar); } ul.mw-contributions-list li, ul.special li { border-color: var(--sidebar); } .page-list li > a:not(.mw-ui-icon-element), .topic-title-list li > a:not(.mw-ui-icon-element), .site-link-list li > a:not(.mw-ui-icon-element) { color: var(--byline-color); } .page-list.side-list .list-thumb, .topic-title-list.side-list .list-thumb, .site-link-list.side-list .list-thumb { color: var(--text-color); } .page-list .info, .topic-title-list .info, .site-link-list .info, .page-list .component, .topic-title-list .component, .site-link-list .component { color: var(--byline-color); } .mw-mf-user { color: var(--text-color); } .content .mw-index-pager-list-header { background-color: var(--body-mid); color: inherit; font-family: inherit; } .diff-editfont-monospace { font-family: monospace,monospace; } :root { --diff-deletedline-background: #fbc0ba; } .minoredit { background: var(--body-mid); } #mw-mf-diffview .mw-mf-diff-date { color: var(--byline-color); } #mw-mf-diffview .mw-diff-inline-deleted del, #mw-mf-diffview .mw-diff-inline-changed del { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-added ins, #mw-mf-diffview .mw-diff-inline-changed ins { background: var(--diff-addedline-background); color: var(--diff-addedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-moved { background: var(--diff-context-background); } #mw-mf-diffview #mw-mf-userinfo { background: var(--body-light); border-top-color: var(--body-border); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count { color: var(--text-color); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count div { color: var(--base-text-color); } .infobox { font-size: 85%; background-color: var(--body-light); border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); table-layout: fixed; } .content .infobox { display: table; } .content .infobox caption { display: table-caption; background: none; } .infobox .infobox-header { color: var(--infobox-text-color); font-size: 1.15em; background: var(--body-dark); padding: 0.5em 0; text-align: center; } .infobox .infobox-subheader { background: var(--body-dark); line-height: 2em; text-align: center; } .infobox .infobox-subheader a { color: var(--infobox-text-color); } .infobox th:not(.infobox-nested):not(.infobox-subheader):not(.infobox-header) { text-align: right; vertical-align: top; border-right: 2px solid var(--body-dark); padding: 0.2em 0.5em; } .infobox caption.infobox-caption { text-align: center; } .infobox td { padding: 0.25em 0.5em; line-height: 1.6em; } .infobox td.infobox-nested { padding: 0.25em 0; line-height: 1em; } .infobox .infobox-padding { height: 0.5em; padding: 0; border: 0; } .infobox .infobox-image { text-align: center; } .infobox .infobox-image.inventory-image { height: 32px; } .infobox .infobox-nested { text-align: center; } .infobox .infobox-nested + .infobox-nested { border-left: 2px solid var(--body-dark); } .infobox .infobox-cell-hidden { display: none; } .infobox .infobox-full-width-content { max-width: 300px; text-align: center; overflow-x: hidden; padding: 0; } .skill-info a[href$="?action=edit"] + a[href$="?action=edit"] { display: none; } .infobox-buttons { margin-top: 0.5em; text-align: center; } .infobox-bottom-links { display: none; } .advanced-data { display: none; } @media screen and (min-width: 720px) { .content table.infobox { float: right; margin-top: 0.5em; margin-left: 1em; width: 300px !important; } .content table.infobox.skill-info { float: none; margin: 0 0 1em 0; } } .multi-infobox { margin-top: 0.5em; margin-bottom: 2.5em; } .multi-infobox .tabber { margin: 0; } .multi-infobox .tabber .tabbernav { text-align: center; margin-left: 0; } .mw-body .multi-infobox .tabber .tabbertab { padding: 5px; } .multi-infobox table.infobox { margin: 0; } .multi-infobox .infobox-buttons { margin-top: 0; } @media screen and (min-width: 720px) { .multi-infobox { float: right; margin-left: 1em; width: 300px; } } .tile { padding: 1.5em 2em 1em; } .tile h2 { font-weight: 600; border: none; margin-top: 0.4em; } .tile o .byline + h2 { margin-top: -0.5em; } .tile-row { background: var(--body-light); border: 1px solid var(-body-border); } .tile-top { padding: 1.3rem 1.5rem 2rem; } .tile-bottom { padding: 1rem 1.5rem 2rem; } .tile-bottom.read-more { padding: 0; } .tile-bottom.read-more a { padding: 1em 1.75em; } :root { --mobile-navbox-wide-bg-color: #dcd3bf; --mobile-navbox-linear-gradient: linear-gradient(to right, rgba(255, 255, 255, 0), var(--body-main) 95%, var(--body-main)); } .navbox { border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); font-size: 0.85em; } .content .navbox ul { padding-left: 0; } .content .navbox ul li { margin-bottom: 0; } @media screen and (max-width: 719px) { .navbox td, .navbox th, .navbox tr, .navbox tbody, .navbox .navbox-subgroup { display: block; } } @media screen and (min-width: 720px) { .content table.navbox, .content .navbox table { width: 100% !important; } } .navbox .navbox-subgroup { margin: 0; } .navbox .navbar { display: none; } .navbox .plink-template, .navbox img { display: none; } .navbox-title { color: var(--text-color); background-color: var(--body-dark); font-size: 140%; text-align: center; padding: 0.25em 0.85em; } @media screen and (min-width: 720px) { .navbox-title { border-bottom: 1px solid var(--body-border); } } .navbox-group-title { background-color: var(--body-mid); text-align: left; padding: 0.2em 0.85em; } @media screen and (max-width: 719px) { .navbox-group-title { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } } @media screen and (min-width: 720px) { .navbox-group-title { border: 1px solid var(--body-border); border-width: 0 1px 1px 0; width: 12vw; } } .navbox-group-title-hidden { display: none; } .navbox-list { padding: 0; position: relative; } @media screen and (min-width: 720px) { .navbox-list { border-bottom: 1px solid var(--body-border); } } .navbox-list ul { display: flex; } @media screen and (max-width: 719px) { .navbox-list ul { white-space: nowrap; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; } } @media screen and (min-width: 720px) { .navbox-list ul { padding: 0.2em 0.85em 0.5em !important; flex-wrap: wrap; } } @media screen and (min-width: 720px) { .navbox-list[style*="center"] ul { justify-content: center; } } .navbox-list li { display: inline-flex; align-items: center; height: 3.5em; margin: 0 0 0 0.85em; } @media screen and (min-width: 720px) { .navbox-list li { height: 2.1em; } .navbox-list li:first-child { margin-left: 0; } } .navbox-list li + li::before { content: '•'; display: inline-block; white-space: pre-wrap; position: relative; left: -0.425em; color: var(--text-color); pointer-events: none; } .navbox-list li + li > a + a::before { display: none; } .navbox-list li:last-child { margin-right: 2em; } .navbox-list::after { content: ''; display: block; position: absolute; background-image: var(--mobile-navbox-linear-gradient); height: 100%; width: 2.5em; top: 0; right: 0; pointer-events: none; } @media screen and (min-width: 720px) { .navbox-list::after { display: none; } } .navbox-list.navbox-parent { border-bottom: 0; padding: 0; } .navbox-list.navbox-parent::after { display: none; } .navbox-group .navbox-group .navbox-group-title { background-color: var(--body-light); padding: 0 0.85em 0 1.7em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group-title { padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-list ul { padding-left: 1.7em; } .navbox-group .navbox-group .navbox-list li { margin-bottom: 0; } .navbox-group .navbox-group .navbox-list li:first-child { margin-left: 0; } .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 0.85em; } .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0.5em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0; } } .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: transparent; padding-left: 2.55em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: var(--mobile-navbox-wide-bg-color); padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-group .navbox-list ul { padding-left: 2.55em; } .navbox-group .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 1.7em; } @keyframes slide-up { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } } .mainpage-header { margin: 2em 1em 0; } @media only screen and (max-width: 1000px) { .mainpage-header .header-intro h1 { text-align: center; font-size: 1.8em; } .mainpage-header .header-intro p { font-size: 1em; } } .mainpage-body .tile-row { width: inherit; } .mainpage-contents.tile-row { display: inherit; } .mainpage-left .tile { padding: 2.5em 1.75em 2em; } .mainpage-left .tile h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-left .tile-halves h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-recent-updates { padding: 1.5em 1em 2.5em; } .mainpage-recent-updates::before { content: 'Recent updates'; display: block; margin-left: 1.5em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 4; } .mainpage-recent-updates .tile-halves { display: inline-block; width: 100%; white-space: initial; flex: unset; } .mainpage-recent-updates .tile-halves:nth-child(1) { animation: 0.9s 0.2s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(2) { animation: 0.9s 0.4s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(3) { animation: 0.9s 0.6s both slide-up; } .mainpage-recent-updates .tile-top { height: 9em; overflow: hidden; } .mainpage-recent-updates .tile-bottom { padding-bottom: 0.5rem; } .mainpage-recent-updates .byline { margin: 0; } .mainpage-recent-updates .byline + h2 { margin: 0.025em 0 0; padding: 0; } @media only screen and (max-width: 720px) { .mainpage-recent-updates::before { text-align: center; margin: 0; grid-column: auto; } } .mainpage-contents { background: var(--body-mid); padding: 55px 1em 2em 2.5em; overflow-x: auto; grid-template-columns: repeat(6, 1fr) !important; position: relative; scroll-snap-align: center; } .mainpage-contents::before { content: 'Explore'; margin: 1em; position: absolute; top: 0; color: inherit; font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 6; } .mainpage-contents .tile-halves { border: none; background: none; box-shadow: none; width: 200px; } .mainpage-contents .tile-top { padding: 0; height: initial; } .mainpage-contents .tile-bottom { border: none; } .mainpage-contents h2 { width: 100%; } @media only screen and (max-width: 1000px) { .mainpage-skills .tile-top ul { margin: 0; } } .mainpage-wikinews::before { content: 'From the wiki'; margin-left: 0.75em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; } .mainpage-social { border: none; margin-bottom: 0; } .mainpage-social .tile-top { display: flex; align-items: center; justify-content: center; padding: 1em 2em; min-height: 70px; } .mainpage-social .tile-top .social-icon { float: left; margin: 0 1em 0 -1em; width: 60px; text-align: center; } .mainpage-social .tile-top .social-header { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0; } .mainpage-social .tile-top .social-tagline { color: rgba(255, 255, 255, 0.9); margin: 0; } .mainpage-social .tile-bottom { border: none; padding: 1em 2em; } .mainpage-social .tile-bottom p { color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; color: #fff; font-size: 0.9em; text-align: center; margin: 0; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .wikitable { background: none; box-shadow: none; } .wikitable tbody { background: var(--body-light); } .toc { background-color: var(--body-light); border-color: var(--body-border); } #filetoc li { display: inline; padding-right: 2em; } .mw-dismissable-notice-body { margin: 0; } .mw-dismissable-notice-body .mw-dismissable-notice-close-parent { border-radius: 0 !important; font-size: 0.75em; } :root { --thumb-image-background: var(--body-light); --thumb-caption-background: var(--body-mid); } .content .thumbinner { background-color: var(--thumb-bg); } .content .thumbimage { border: 1px solid transparent; border-bottom: none; } .content .thumbcaption { margin: 0; padding: 4px 6px !important; color: inherit; background: var(--thumb-caption-bg); } .content table.messagebox { margin: 0.5em auto; } .content table a > img { max-width: inherit !important; height: inherit !important; } .content .infobox a > img { max-width: 100% !important; height: auto !important; } .content .infobox-bonuses a > img { max-width: inherit !important; height: inherit !important; } 51f4e37ea76ae246ce281d7f381e220c2a02632b 1691 1686 2024-04-01T01:27:29Z Merds 25 Updating CSS from [[MediaWiki:Minerva.less]] css text/css /* <pre> */ body { font-family: system-ui, -apple-system, Roboto, Helvetica, sans-serif; } @media all and (max-width: 320px) { body { font-size: 0.9em; } } .content { line-height: 1.7; } .pre-content h1, .content h1, .content h2 { font-weight: bold; } body { background: var(--body-background-color); color: var(--text-color); } select { color: var(--text-color); } a:not( [ href ] ) { color: inherit; } a.external, .mw-parser-output a.external { background-image: var(--external-icon); } blockquote { border-color: var(--body-mid); font-family: inherit; } .pre-content h1 { text-align: center; } .mw-parser-output h2:first-of-type { clear: both; } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .plainlist ol, .content .plainlist ul { padding: 0; } .content p { margin: 0.5em 0; } .content hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } .content kbd, .content samp { border: none; } .content code, .content pre { background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='%23000'%3E%3Cpath d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM3 8a5 5 0 1 0 10 0A5 5 0 1 0 3 8z'/%3E%3C/g%3E%3C/svg%3E"); --external-icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cg fill='%23906039'%3E%3Cpath d='M8.9 8.9H1.1V1.1h2.8V0H1.1C.5 0 0 .5 0 1.1v7.8C0 9.5.5 10 1.1 10h7.8c.6 0 1.1-.5 1.1-1.1V6.1H8.9v2.8z'/%3E%3Cpath d='M10 0H5.6l1.8 1.8L4.2 5l.8.8 3.2-3.2L10 4.4V0z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-center { background-color: transparent; } .header { border-top: none; } .header-container.header-chrome { background: var(--body-background-image) var(--body-background-color) no-repeat; background-color: var(--body-background-color); background-size: 900px; box-shadow: inset 0 -1px 3px rgba(0, 0, 0, 0.1); } .header-container .notification-count { border-radius: 50%; } .header-container .notification-count.notification-unseen { background: none; } .header-container .branding-box { opacity: 1; } .search-box { text-align: right; } .search-box .search { background-color: var(--search-box); border-color: var(--search-box); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .search-box .search::placeholder { color: var(--byline-color); } .client-nojs .search-box .search:focus, .search-overlay .search-box .search:focus { border-color: var(--link-color); box-shadow: inset 0 0 0 1px var(--link-color), 0 1px 1px rgba(0, 0, 0, 0.05); } .mw-ui-background-icon-search { background-image: var(--searchbutton-icon); } .overlay { background: var(--body-main); } .overlay textarea { color: var(--text-color); } .overlay.search-overlay { background: var(--body-main); } .overlay.search-overlay .results, .overlay.search-overlay .search-feedback { background-color: var(--body-light); } .overlay.search-overlay .search-content { border-color: var(--body-mid); } .overlay .license { color: var(--base-text-color); } .overlay .panel { border-color: var(--sidebar); } .overlay .content-header { background-color: var(--body-light); border-color: transparent; } .overlay.overlay-loading { background: var(--ooui-window-background); } .overlay .overlay-content { background: var(--body-main); } .page-summary h2, .page-summary h3 { color: var(--text-color); } .page-list li, .topic-title-list li, .site-link-list li { border-color: var(--body-mid); } .overlay-enabled .overlay:not(.editor-overlay), .overlay-enabled #mw-mf-page-center { overflow-y: scroll; } .overlay-header-container, .overlay-footer-container { background-color: var(--body-background-color); border-color: transparent; } .editor-overlay .wikitext-editor { color: var(--text-color); } .editor-overlay .overlay-header { outline-color: transparent; } .editor-overlay .summary-request { color: var(--text-color); } .editor-overlay .editor-switcher { border: none; } .action-submit .mw-editnotice .action-edit .mw-editnotice, .action-submit .mw-editTools, .action-edit .mw-editTools, .action-submit .preview-limit-report-wrapper, .action-edit .preview-limit-report-wrapper, .action-submit .diff-otitle, .action-edit .diff-otitle, .action-submit .diff-ntitle, .action-edit .diff-ntitle, .action-submit #section_0, .action-edit #section_0, .action-submit #editpage-copywarn, .action-edit #editpage-copywarn, .action-submit #mw-anon-edit-warning, .action-edit #mw-anon-edit-warning { color: var(--byline-color); } .wikitext-editor { background-color: var(--body-main); } .ve-mobile-fakeToolbar { border: none; } .ve-mobile-fakeToolbar-container { background: var(--body-background-color); border: none; } .ve-mobile-fakeToolbar .mw-ui-icon-mf-spinner { border-color: transparent; } .ve-ui-targetToolbar-mobile .oo-ui-toolbar-tools > .ve-ui-toolbar-group-back { border-color: transparent; } .ve-ui-mobileContext { background-color: var(--body-light); border-color: var(--body-light); } .ve-ui-mobileContext .ve-ui-linearContextItem-body-action-wrapper { border-color: var(--body-border); } .ve-ui-linearContextItem-foot:not(:empty) { border-color: var(--body-border); } .ve-ui-mwSaveDialog-options { backgroubd-color: var(--body-light); border-color: var(--body-mid); } .page-actions-menu { border-color: var(--sidebar); } #language-selector { display: none; } .minerva__tab-container .minerva__tab { color: var(--text-color); } .minerva__tab-container .minerva__tab.new, .minerva__tab-container .minerva__tab.new:visited, .minerva__tab-container .minerva__tab.new:hover, .minerva__tab-container .minerva__tab.new:active { color: var(--redlink-color); } .minerva__tab-container .minerva__tab.selected { border-color: var(--body-border); } .heading-holder .tagline { color: var(--base-heading-color); } .minerva-footer { border-color: transparent; } .mw-footer > .post-content { margin-top: 32px; } .mw-footer > .post-content > .minerva-footer-logo { display: none; } .mw-footer .hlist li:after { color: var(--background-text-color); } .last-modified-bar { border-top: 1px solid; border-color: transparent; background: none; color: var(--text-color); } .last-modified-bar a, .last-modified-bar a:active, .last-modified-bar a:visited, .last-modified-bar .last-modified-text-accent { color: var(--background-text-color); } .last-modified-bar.active, .last-modified-bar.active:active, .last-modified-bar.active:visited, .last-modified-bar.active .last-modified-text-accent { color: #fff; } .mw-ui-icon-mf-expand-gray:not(.mw-ui-icon-mf-expand-invert):before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eexpand%3C/title%3E%3Cg fill='%2354595d'%3E%3Cpath d='M17.5 4.75l-7.5 7.5-7.5-7.5L1 6.25l9 9 9-9z'/%3E%3C/g%3E%3C/svg%3E"); } .toggle-list__list { background-color: var(--wikitable-bg); } .toggle-list-item__anchor:visited, .toggle-list-item__anchor:active { color: var(--base-text-color); } .toggle-list-item:hover { background: var(--wikitable-bg-lighter); } .toggle-list-item__label { color: var(--base-text-color); } .mw-ui-icon-wikimedia-search-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esearch%3C/title%3E%3Cg fill='white'%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 111.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 113 8a5 5 0 0110 0z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-menu-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Emenu%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M1 3v2h18V3zm0 8h18V9H1zm0 6h18v-2H1z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-bellOutline-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Ebell%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M11.5 2.19C14.09 2.86 16 5.2 16 8v6l2 2v1H2v-1l2-2V8c0-2.8 1.91-5.14 4.5-5.81V1.5C8.5.67 9.17 0 10 0s1.5.67 1.5 1.5v.69zM10 4C7.79 4 6 5.79 6 8v7h8V8c0-2.21-1.79-4-4-4zM8 18h4c0 1.1-.9 2-2 2s-2-.9-2-2z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-minerva-userAvatarOutline:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Euser avatar%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M10 8c1.7 0 3.06-1.35 3.06-3S11.7 2 10 2 6.94 3.35 6.94 5 8.3 8 10 8zm0 2c-2.8 0-5.06-2.24-5.06-5S7.2 0 10 0s5.06 2.24 5.06 5-2.26 5-5.06 5zm-7 8h14v-1.33c0-1.75-2.31-3.56-7-3.56s-7 1.81-7 3.56V18zm7-6.89c6.66 0 9 3.33 9 5.56V20H1v-3.33c0-2.23 2.34-5.56 9-5.56z'/%3E%3C/g%3E%3C/svg%3E%0A"); } @media all and (min-width: 1000px) { .mw-ui-icon-with-label-desktop, .mw-ui-icon-with-label-desktop:hover, .mw-ui-icon-with-label-desktop:focus, .mw-ui-icon-with-label-desktop:active, .mw-ui-icon-with-label-desktop:visited { color: var(--base-text-color) !important; } } .header-action .mw-ui-icon-mf-close-base20:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclose%3C/title%3E%3Cg fill='%23fff'%3E%3Cpath d='m4.3 2.9 12.8 12.8-1.4 1.4L2.9 4.3z'/%3E%3Cpath d='M17.1 4.3 4.3 17.1l-1.4-1.4L15.7 2.9z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-left { background-color: var(--body-background-color); } #mw-mf-page-left .secondary-action { border-left-color: var(--body-mid); } #mw-mf-page-left ul li { background-color: var(--body-main); border-color: var(--body-mid); } #mw-mf-page-left ul li a { color: var(--base-text-color); } #mw-mf-page-left ul li a:hover { box-shadow: inset 4px 0 0 0 var(--link-color); } #mw-mf-page-left ul.hlist li a { color: var(--background-link-color); } #mw-mf-page-left ul.hlist li a span { font-size: 0.8125rem; } .notifications-overlay.navigation-drawer { box-shadow: -1px 0 8px 0 rgba(0, 0, 0, 0.35); } .notifications-overlay .mw-echo-ui-actionMenuPopupWidget-menu { border: none; } .mw-ui-anchor.mw-ui-progressive, .mw-ui-anchor.mw-ui-progressive:active, .mw-ui-anchor.mw-ui-progressive:hover, .mw-ui-anchor.mw-ui-progressive:focus { color: var(--link-color); } .minerva-talk-full-page-button { background-color: var(--body-main); border-color: var(--body-dark); color: var(--link-color); } .minerva-talk-content-explained { border-color: var(--sidebar); color: var(--base-text-color); } .talk-overlay .comment .wikitext-editor { border-color: var(--body-border); } .client-js .skin-minerva--talk-simplified .section-heading { border-color: var(--sidebar); } .mw-notification a, .toast a { color: var(--link-color); } .drawer { background-color: var(--body-light); } .drawer.references-drawer { background-color: var(--body-light); color: var(--text-color); } .drawer.references-drawer a { color: var(--link-color); } .drawer.references-drawer .references-drawer__title { color: var(--text-color); } .drawer.references-drawer .mw-ui-icon::before { filter: brightness(0); } .cta-holder { background: var(--body-light); } .cta-holder .desc { color: var(--byline-color); } .mw-tag-marker { border-color: var(--body-border); } .oo-ui-toolGroup { background: var(--body-background-color); } .load-fail-msg { color: var(--text-color); } .load-fail-msg-link a { color: var(--link-color); } .image-carousel .image-loaded { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E%0A") repeat; } .image-details { background-color: var(--body-light); border-color: transparent; } @media all and (min-width: 720px) { .ns-special .pre-content { background-color: transparent; } .ns-special .mw-body { background: var(--body-main); } .ns-special .mw-body form { background: transparent; } } form.mw-mf-settings .oo-ui-fieldLayout, form.mw-mf-settings .oo-ui-fieldLayout:first-child { border-color: var(--body-mid); } .ns-special .content-header { border-bottom-color: var(--body-dark); } .action-history .mw-history-compareselectedversions { background-color: var(--body-main); } .action-history #pagehistory li:not(.selected) { border-bottom-color: var(--sidebar); } ul.mw-contributions-list li, ul.special li { border-color: var(--sidebar); } .page-list li > a:not(.mw-ui-icon-element), .topic-title-list li > a:not(.mw-ui-icon-element), .site-link-list li > a:not(.mw-ui-icon-element) { color: var(--byline-color); } .page-list.side-list .list-thumb, .topic-title-list.side-list .list-thumb, .site-link-list.side-list .list-thumb { color: var(--text-color); } .page-list .info, .topic-title-list .info, .site-link-list .info, .page-list .component, .topic-title-list .component, .site-link-list .component { color: var(--byline-color); } .mw-mf-user { color: var(--text-color); } .content .mw-index-pager-list-header { background-color: var(--body-mid); color: inherit; font-family: inherit; } .diff-editfont-monospace { font-family: monospace,monospace; } :root { --diff-deletedline-background: #fbc0ba; } .minoredit { background: var(--body-mid); } #mw-mf-diffview .mw-mf-diff-date { color: var(--byline-color); } #mw-mf-diffview .mw-diff-inline-deleted del, #mw-mf-diffview .mw-diff-inline-changed del { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-added ins, #mw-mf-diffview .mw-diff-inline-changed ins { background: var(--diff-addedline-background); color: var(--diff-addedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-moved { background: var(--diff-context-background); } #mw-mf-diffview #mw-mf-userinfo { background: var(--body-light); border-top-color: var(--body-border); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count { color: var(--text-color); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count div { color: var(--base-text-color); } .infobox { font-size: 85%; background-color: var(--body-light); border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); table-layout: fixed; } .content .infobox { display: table; } .content .infobox caption { display: table-caption; background: none; } .infobox .infobox-header { color: var(--infobox-text-color); font-size: 1.15em; background: var(--body-dark); padding: 0.5em 0; text-align: center; } .infobox .infobox-subheader { background: var(--body-dark); line-height: 2em; text-align: center; } .infobox .infobox-subheader a { color: var(--infobox-text-color); } .infobox th:not(.infobox-nested):not(.infobox-subheader):not(.infobox-header) { text-align: right; vertical-align: top; border-right: 2px solid var(--body-dark); padding: 0.2em 0.5em; } .infobox caption.infobox-caption { text-align: center; } .infobox td { padding: 0.25em 0.5em; line-height: 1.6em; } .infobox td.infobox-nested { padding: 0.25em 0; line-height: 1em; } .infobox .infobox-padding { height: 0.5em; padding: 0; border: 0; } .infobox .infobox-image { text-align: center; } .infobox .infobox-image.inventory-image { height: 32px; } .infobox .infobox-nested { text-align: center; } .infobox .infobox-nested + .infobox-nested { border-left: 2px solid var(--body-dark); } .infobox .infobox-cell-hidden { display: none; } .infobox .infobox-full-width-content { max-width: 300px; text-align: center; overflow-x: hidden; padding: 0; } .skill-info a[href$="?action=edit"] + a[href$="?action=edit"] { display: none; } .infobox-buttons { margin-top: 0.5em; text-align: center; } .infobox-bottom-links { display: none; } .advanced-data { display: none; } @media screen and (min-width: 720px) { .content table.infobox { float: right; margin-top: 0.5em; margin-left: 1em; width: 300px !important; } .content table.infobox.skill-info { float: none; margin: 0 0 1em 0; } } .multi-infobox { margin-top: 0.5em; margin-bottom: 2.5em; } .multi-infobox .tabber { margin: 0; } .multi-infobox .tabber .tabbernav { text-align: center; margin-left: 0; } .mw-body .multi-infobox .tabber .tabbertab { padding: 5px; } .multi-infobox table.infobox { margin: 0; } .multi-infobox .infobox-buttons { margin-top: 0; } @media screen and (min-width: 720px) { .multi-infobox { float: right; margin-left: 1em; width: 300px; } } .tile { padding: 1.5em 2em 1em; } .tile h2 { font-weight: 600; border: none; margin-top: 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile-row { background: var(--body-light) !important; border: 1px solid var(--body-border); } .tile-top { padding: 1.3rem 1.5rem 2rem; } .tile-bottom { padding: 1rem 1.5rem 2rem; } .tile-bottom.read-more { padding: 0; } .tile-bottom.read-more a { padding: 1em 1.75em; } :root { --mobile-navbox-wide-bg-color: #dcd3bf; --mobile-navbox-linear-gradient: linear-gradient(to right, rgba(255, 255, 255, 0), var(--body-main) 95%, var(--body-main)); } .navbox { border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); font-size: 0.85em; } .content .navbox ul { padding-left: 0; } .content .navbox ul li { margin-bottom: 0; } @media screen and (max-width: 719px) { .navbox td, .navbox th, .navbox tr, .navbox tbody, .navbox .navbox-subgroup { display: block; } } @media screen and (min-width: 720px) { .content table.navbox, .content .navbox table { width: 100% !important; } } .navbox .navbox-subgroup { margin: 0; } .navbox .navbar { display: none; } .navbox .plink-template, .navbox img { display: none; } .navbox-title { color: var(--text-color); background-color: var(--body-dark); font-size: 140%; text-align: center; padding: 0.25em 0.85em; } @media screen and (min-width: 720px) { .navbox-title { border-bottom: 1px solid var(--body-border); } } .navbox-group-title { background-color: var(--body-mid); text-align: left; padding: 0.2em 0.85em; } @media screen and (max-width: 719px) { .navbox-group-title { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } } @media screen and (min-width: 720px) { .navbox-group-title { border: 1px solid var(--body-border); border-width: 0 1px 1px 0; width: 12vw; } } .navbox-group-title-hidden { display: none; } .navbox-list { padding: 0; position: relative; } @media screen and (min-width: 720px) { .navbox-list { border-bottom: 1px solid var(--body-border); } } .navbox-list ul { display: flex; } @media screen and (max-width: 719px) { .navbox-list ul { white-space: nowrap; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; } } @media screen and (min-width: 720px) { .navbox-list ul { padding: 0.2em 0.85em 0.5em !important; flex-wrap: wrap; } } @media screen and (min-width: 720px) { .navbox-list[style*="center"] ul { justify-content: center; } } .navbox-list li { display: inline-flex; align-items: center; height: 3.5em; margin: 0 0 0 0.85em; } @media screen and (min-width: 720px) { .navbox-list li { height: 2.1em; } .navbox-list li:first-child { margin-left: 0; } } .navbox-list li + li::before { content: '•'; display: inline-block; white-space: pre-wrap; position: relative; left: -0.425em; color: var(--text-color); pointer-events: none; } .navbox-list li + li > a + a::before { display: none; } .navbox-list li:last-child { margin-right: 2em; } .navbox-list::after { content: ''; display: block; position: absolute; background-image: var(--mobile-navbox-linear-gradient); height: 100%; width: 2.5em; top: 0; right: 0; pointer-events: none; } @media screen and (min-width: 720px) { .navbox-list::after { display: none; } } .navbox-list.navbox-parent { border-bottom: 0; padding: 0; } .navbox-list.navbox-parent::after { display: none; } .navbox-group .navbox-group .navbox-group-title { background-color: var(--body-light); padding: 0 0.85em 0 1.7em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group-title { padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-list ul { padding-left: 1.7em; } .navbox-group .navbox-group .navbox-list li { margin-bottom: 0; } .navbox-group .navbox-group .navbox-list li:first-child { margin-left: 0; } .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 0.85em; } .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0.5em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0; } } .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: transparent; padding-left: 2.55em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: var(--mobile-navbox-wide-bg-color); padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-group .navbox-list ul { padding-left: 2.55em; } .navbox-group .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 1.7em; } @keyframes slide-up { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } } .mainpage-header { margin: 2em 1em 0; } @media only screen and (max-width: 1000px) { .mainpage-header .header-intro h1 { text-align: center; font-size: 1.8em; } .mainpage-header .header-intro p { font-size: 1em; } } .mainpage-body .tile-row { width: inherit; } .mainpage-contents.tile-row { display: inherit; } .mainpage-left .tile { padding: 2.5em 1.75em 2em; } .mainpage-left .tile h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-left .tile-halves h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-recent-updates { padding: 1.5em 1em 2.5em; } .mainpage-recent-updates::before { content: 'Recent updates'; display: block; margin-left: 1.5em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 4; } .mainpage-recent-updates .tile-halves { display: inline-block; width: 100%; white-space: initial; flex: unset; } .mainpage-recent-updates .tile-halves:nth-child(1) { animation: 0.9s 0.2s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(2) { animation: 0.9s 0.4s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(3) { animation: 0.9s 0.6s both slide-up; } .mainpage-recent-updates .tile-top { height: 9em; overflow: hidden; } .mainpage-recent-updates .tile-bottom { padding-bottom: 0.5rem; } .mainpage-recent-updates .byline { margin: 0; } .mainpage-recent-updates .byline + h2 { margin: 0.025em 0 0; padding: 0; } @media only screen and (max-width: 720px) { .mainpage-recent-updates::before { text-align: center; margin: 0; grid-column: auto; } } .mainpage-contents { background: var(--body-mid); padding: 55px 1em 2em 2.5em; overflow-x: auto; grid-template-columns: repeat(6, 1fr) !important; position: relative; scroll-snap-align: center; } .mainpage-contents::before { content: 'Explore'; margin: 1em; position: absolute; top: 0; color: inherit; font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 6; } .mainpage-contents .tile-halves { border: none; background: none; box-shadow: none; width: 200px; } .mainpage-contents .tile-top { padding: 0; height: initial; } .mainpage-contents .tile-bottom { border: none; } .mainpage-contents h2 { width: 100%; } @media only screen and (max-width: 1000px) { .mainpage-skills .tile-top ul { margin: 0; } } .mainpage-wikinews::before { content: 'From the wiki'; margin-left: 0.75em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; } .mainpage-social { border: none; margin-bottom: 0; } .mainpage-social .tile-top { display: flex; align-items: center; justify-content: center; padding: 1em 2em; min-height: 70px; } .mainpage-social .tile-top .social-icon { float: left; margin: 0 1em 0 -1em; width: 60px; text-align: center; } .mainpage-social .tile-top .social-header { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0; } .mainpage-social .tile-top .social-tagline { color: rgba(255, 255, 255, 0.9); margin: 0; } .mainpage-social .tile-bottom { border: none; padding: 1em 2em; } .mainpage-social .tile-bottom p { color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; color: #fff; font-size: 0.9em; text-align: center; margin: 0; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .wikitable { background: none; box-shadow: none; } .wikitable tbody { background: var(--body-light); } .toc { background-color: var(--body-light); border-color: var(--body-border); } #filetoc li { display: inline; padding-right: 2em; } .mw-dismissable-notice-body { margin: 0; } .mw-dismissable-notice-body .mw-dismissable-notice-close-parent { border-radius: 0 !important; font-size: 0.75em; } :root { --thumb-image-background: var(--body-light); --thumb-caption-background: var(--body-mid); } .content .thumbinner { background-color: var(--thumb-bg); } .content .thumbimage { border: 1px solid transparent; border-bottom: none; } .content .thumbcaption { margin: 0; padding: 4px 6px !important; color: inherit; background: var(--thumb-caption-bg); } .content table.messagebox { margin: 0.5em auto; } .content table a > img { max-width: inherit !important; height: inherit !important; } .content .infobox a > img { max-width: 100% !important; height: auto !important; } .content .infobox-bonuses a > img { max-width: inherit !important; height: inherit !important; } 53ca73c6a07f730b4c8ff517af58bcadd940e669 Module:Infobox 828 102 1693 1634 2024-04-02T11:46:26Z Gau Cho 5 Add smw property Infobox Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - check for a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-index', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do local button = buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) -- In case of dropdown list, hide the buttons as the switch gadget will convert them to a dropdown list - we can't directly create the dropdown list here as the select/option tags are rejected by wikitext if self.versions > self.max_buttons then button:addClass('hidden') end end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() local versions = (self.versions > 1) and self.versions or 1 -- Grab versions, but convert 0 -> 1 for version=1, versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..mw.title.getCurrentTitle().fullText..'#'..self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {Infobox = self.infobox_name} -- Also store the current Infobox name for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions <= 1 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox 09c1df4d46883941533254fba456f9e0b0ac8ffe User:Gau Cho/common.css 2 807 1694 2024-04-02T11:51:16Z Gau Cho 5 Created page with ":root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox .infobox-buttons .button .button-selected { background: var(--table-subheader); }" css text/css :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox .infobox-buttons .button .button-selected { background: var(--table-subheader); } 5e342369bb67b8e231e1ea01c57f37420fdb4325 1695 1694 2024-04-02T11:54:51Z Gau Cho 5 css text/css /*<syntaxhighlight lang="css">*/ :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox .infobox-buttons .button .button-selected { background: var(--table-subheader); } /*</syntaxhighlight>*/ fee039717f00143be5b9cabcae2ac384e8fd3a4a 1696 1695 2024-04-02T11:57:27Z Gau Cho 5 css text/css /*<syntaxhighlight lang="css">*/ :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox .infobox-buttons .button.button-selected { background: var(--table-subheader); } /*</syntaxhighlight>*/ 1e3523b764a873bd1bdbe3d1e15b88beaccd1411 1697 1696 2024-04-02T12:05:17Z Gau Cho 5 css text/css /*<syntaxhighlight lang="css">*/ :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox .infobox-buttons .button.button-selected { background: var(--table-subheader); } .infobox select { max-width: 300px; } /*</syntaxhighlight>*/ c1fea9207d2237c65a8979597a4f48b9c17ec71f 1700 1697 2024-04-02T13:48:39Z Gau Cho 5 css text/css /*<syntaxhighlight lang="css">*/ /*</syntaxhighlight>*/ 8dee306bbb0b2e944831424a41c7354436cf630e File:Hopeport - art from Andrew Gower twitter banner.jpg 6 808 1703 2024-04-02T18:23:45Z HammerTimeMage 59 Image of Hopeport from Andrew Gower's (@AndrewCGower) X account header. wikitext text/x-wiki == Summary == Image of Hopeport from Andrew Gower's (@AndrewCGower) X account header. c65fcc674c233ae7e31370ebce6dc89808ef0fea File:Hopeport - art from Andrew Gower twitter banner.jpg 6 808 1704 1703 2024-04-02T18:27:13Z Merds 25 Merds moved page [[File:1500x500.jpg]] to [[File:Hopeport - art from Andrew Gower twitter banner.jpg]] without leaving a redirect: to be moved further when there's a better name wikitext text/x-wiki == Summary == Image of Hopeport from Andrew Gower's (@AndrewCGower) X account header. c65fcc674c233ae7e31370ebce6dc89808ef0fea MediaWiki:Minerva.less/infobox.less 8 418 1705 672 2024-04-02T19:33:59Z Merds 25 less less /* ==================== infoboxes ==================== */ @infobox-background: @BODY_LIGHT; @infobox-header-color: @BODY_DARK; @infobox-border-color: @BODY_BORDER; @infobox-subheader-color: @BODY_MID; .infobox { font-size: 85%; background-color: @infobox-background; border: 1px solid @infobox-border-color; box-shadow: @box-shadow; table-layout: fixed; // override minerva's mobile-friendlyness // our infoboxes shouldn't be scrollable anyway .content & { display: table; caption { display: table-caption; background: none; // bg in > 720px } } .infobox-header { color: @white; font-size: 1.15em; background: @infobox-header-color; padding: .5em 0; text-align: center; } .infobox-subheader { background: @infobox-subheader-color; line-height: 2em; text-align: center; color: @white; a { color: var(--link-color); } } th:not(.infobox-nested):not(.infobox-subheader):not(.infobox-header) { text-align: right; vertical-align: top; border-right: 2px solid @infobox-subheader-color; padding: 0.2em 0.5em; } caption.infobox-caption { text-align: center; } td { padding: 0.25em 0.5em; line-height: 1.6em; &.infobox-nested { padding: 0.25em 0; line-height: 1em; } } .infobox-padding { height: 0.5em; padding: 0; border: 0; } .infobox-image { text-align: center; // for inventory icon in infobox item &.inventory-image { height: 32px; // functions as min-height } } .infobox-nested { text-align: center; &+.infobox-nested { border-left: 2px solid @infobox-subheader-color; } } .infobox-cell-hidden { display: none; } .infobox-full-width-content { max-width: 300px; text-align: center; overflow-x: hidden; padding: 0; } } // (dirty trick) Hide a silly bug in switch infoboxes: // switching between versions where there is a Quantity box followed by text will cause the text to be duplicated on switch // This currently only occurs where the text consists of "? (edit)" links, so hiding consecutive edit links works to hide this // This should ideally be fixed for real though, instead of just hiding it. .skill-info a[href$="?action=edit"] + a[href$="?action=edit"] { display: none; } .infobox-buttons { margin-top: 0.5em; text-align: center; } .infobox-bottom-links { display: none; } // Hides advanced data. Class gets replaced by .advanced-data-display // if the showAdvancedData gadget is enabled. .advanced-data { display: none; } @media screen and (min-width: @width-breakpoint-tablet) { .content table.infobox { float: right; margin-top: 0.5em; margin-left: 1em; width: 300px !important; // Needed to compete with !important for .content table &.skill-info { float: none; margin: 0 0 1em 0; } } } // [[Template:Multi Infobox]] styles .multi-infobox { margin-top: 0.5em; margin-bottom: 2.5em; .tabber { margin: 0; .tabbernav { text-align: center; margin-left: 0; } // extra specific to override base style .mw-body & .tabbertab { padding: 5px; } } table.infobox { margin: 0; } .infobox-buttons { margin-top: 0; } } @media screen and (min-width: @width-breakpoint-tablet) { .multi-infobox { float: right; margin-left: 1em; width: 300px; } } /* The following styles were used as a temporary fix for TabberNeue. We're currently using old Tabber because TabberNeue breaks if a tab dynamically changes size, such as multi-infobox. */ /* .multi-infobox { margin-top: 0.5em; margin-bottom: 2.5em; .tabber__header { text-align: center; margin-left: 0; justify-content: center; } .tabber__panel { margin: 0; padding: 0; } .tabber__panel.tabber__panel--active { width: 100%; } .infobox-buttons { margin-top: 0; } }*/ 7ef683bd0ab8d4f83ed52da62d5f6e66fff5911d MediaWiki:Common.less/infobox.less 8 26 1706 1701 2024-04-02T19:35:42Z Merds 25 less less :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } /* Infobox */ .infobox { font-size: .85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; .button { background: var(--table-subheader); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: @white; } .button.button-selected { background: var(--table-header); } } tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: @white; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox-image { text-align: center; } .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: @white; a { color: var(--link-color); } } .infobox-padding { backgound: var(--table-body); } tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } select { max-width: 300px; } } .hidden { display: none; } d900151dc6a84bafb4f7517f5178ea4fbed05d42 MediaWiki:Minerva.css 8 422 1707 1691 2024-04-02T19:35:50Z Merds 25 Updating CSS from [[MediaWiki:Minerva.less]] css text/css /* <pre> */ body { font-family: system-ui, -apple-system, Roboto, Helvetica, sans-serif; } @media all and (max-width: 320px) { body { font-size: 0.9em; } } .content { line-height: 1.7; } .pre-content h1, .content h1, .content h2 { font-weight: bold; } body { background: var(--body-background-color); color: var(--text-color); } select { color: var(--text-color); } a:not( [ href ] ) { color: inherit; } a.external, .mw-parser-output a.external { background-image: var(--external-icon); } blockquote { border-color: var(--body-mid); font-family: inherit; } .pre-content h1 { text-align: center; } .mw-parser-output h2:first-of-type { clear: both; } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .plainlist ol, .content .plainlist ul { padding: 0; } .content p { margin: 0.5em 0; } .content hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } .content kbd, .content samp { border: none; } .content code, .content pre { background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='%23000'%3E%3Cpath d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM3 8a5 5 0 1 0 10 0A5 5 0 1 0 3 8z'/%3E%3C/g%3E%3C/svg%3E"); --external-icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cg fill='%23906039'%3E%3Cpath d='M8.9 8.9H1.1V1.1h2.8V0H1.1C.5 0 0 .5 0 1.1v7.8C0 9.5.5 10 1.1 10h7.8c.6 0 1.1-.5 1.1-1.1V6.1H8.9v2.8z'/%3E%3Cpath d='M10 0H5.6l1.8 1.8L4.2 5l.8.8 3.2-3.2L10 4.4V0z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-center { background-color: transparent; } .header { border-top: none; } .header-container.header-chrome { background: var(--body-background-image) var(--body-background-color) no-repeat; background-color: var(--body-background-color); background-size: 900px; box-shadow: inset 0 -1px 3px rgba(0, 0, 0, 0.1); } .header-container .notification-count { border-radius: 50%; } .header-container .notification-count.notification-unseen { background: none; } .header-container .branding-box { opacity: 1; } .search-box { text-align: right; } .search-box .search { background-color: var(--search-box); border-color: var(--search-box); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .search-box .search::placeholder { color: var(--byline-color); } .client-nojs .search-box .search:focus, .search-overlay .search-box .search:focus { border-color: var(--link-color); box-shadow: inset 0 0 0 1px var(--link-color), 0 1px 1px rgba(0, 0, 0, 0.05); } .mw-ui-background-icon-search { background-image: var(--searchbutton-icon); } .overlay { background: var(--body-main); } .overlay textarea { color: var(--text-color); } .overlay.search-overlay { background: var(--body-main); } .overlay.search-overlay .results, .overlay.search-overlay .search-feedback { background-color: var(--body-light); } .overlay.search-overlay .search-content { border-color: var(--body-mid); } .overlay .license { color: var(--base-text-color); } .overlay .panel { border-color: var(--sidebar); } .overlay .content-header { background-color: var(--body-light); border-color: transparent; } .overlay.overlay-loading { background: var(--ooui-window-background); } .overlay .overlay-content { background: var(--body-main); } .page-summary h2, .page-summary h3 { color: var(--text-color); } .page-list li, .topic-title-list li, .site-link-list li { border-color: var(--body-mid); } .overlay-enabled .overlay:not(.editor-overlay), .overlay-enabled #mw-mf-page-center { overflow-y: scroll; } .overlay-header-container, .overlay-footer-container { background-color: var(--body-background-color); border-color: transparent; } .editor-overlay .wikitext-editor { color: var(--text-color); } .editor-overlay .overlay-header { outline-color: transparent; } .editor-overlay .summary-request { color: var(--text-color); } .editor-overlay .editor-switcher { border: none; } .action-submit .mw-editnotice .action-edit .mw-editnotice, .action-submit .mw-editTools, .action-edit .mw-editTools, .action-submit .preview-limit-report-wrapper, .action-edit .preview-limit-report-wrapper, .action-submit .diff-otitle, .action-edit .diff-otitle, .action-submit .diff-ntitle, .action-edit .diff-ntitle, .action-submit #section_0, .action-edit #section_0, .action-submit #editpage-copywarn, .action-edit #editpage-copywarn, .action-submit #mw-anon-edit-warning, .action-edit #mw-anon-edit-warning { color: var(--byline-color); } .wikitext-editor { background-color: var(--body-main); } .ve-mobile-fakeToolbar { border: none; } .ve-mobile-fakeToolbar-container { background: var(--body-background-color); border: none; } .ve-mobile-fakeToolbar .mw-ui-icon-mf-spinner { border-color: transparent; } .ve-ui-targetToolbar-mobile .oo-ui-toolbar-tools > .ve-ui-toolbar-group-back { border-color: transparent; } .ve-ui-mobileContext { background-color: var(--body-light); border-color: var(--body-light); } .ve-ui-mobileContext .ve-ui-linearContextItem-body-action-wrapper { border-color: var(--body-border); } .ve-ui-linearContextItem-foot:not(:empty) { border-color: var(--body-border); } .ve-ui-mwSaveDialog-options { backgroubd-color: var(--body-light); border-color: var(--body-mid); } .page-actions-menu { border-color: var(--sidebar); } #language-selector { display: none; } .minerva__tab-container .minerva__tab { color: var(--text-color); } .minerva__tab-container .minerva__tab.new, .minerva__tab-container .minerva__tab.new:visited, .minerva__tab-container .minerva__tab.new:hover, .minerva__tab-container .minerva__tab.new:active { color: var(--redlink-color); } .minerva__tab-container .minerva__tab.selected { border-color: var(--body-border); } .heading-holder .tagline { color: var(--base-heading-color); } .minerva-footer { border-color: transparent; } .mw-footer > .post-content { margin-top: 32px; } .mw-footer > .post-content > .minerva-footer-logo { display: none; } .mw-footer .hlist li:after { color: var(--background-text-color); } .last-modified-bar { border-top: 1px solid; border-color: transparent; background: none; color: var(--text-color); } .last-modified-bar a, .last-modified-bar a:active, .last-modified-bar a:visited, .last-modified-bar .last-modified-text-accent { color: var(--background-text-color); } .last-modified-bar.active, .last-modified-bar.active:active, .last-modified-bar.active:visited, .last-modified-bar.active .last-modified-text-accent { color: #fff; } .mw-ui-icon-mf-expand-gray:not(.mw-ui-icon-mf-expand-invert):before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eexpand%3C/title%3E%3Cg fill='%2354595d'%3E%3Cpath d='M17.5 4.75l-7.5 7.5-7.5-7.5L1 6.25l9 9 9-9z'/%3E%3C/g%3E%3C/svg%3E"); } .toggle-list__list { background-color: var(--wikitable-bg); } .toggle-list-item__anchor:visited, .toggle-list-item__anchor:active { color: var(--base-text-color); } .toggle-list-item:hover { background: var(--wikitable-bg-lighter); } .toggle-list-item__label { color: var(--base-text-color); } .mw-ui-icon-wikimedia-search-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esearch%3C/title%3E%3Cg fill='white'%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 111.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 113 8a5 5 0 0110 0z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-menu-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Emenu%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M1 3v2h18V3zm0 8h18V9H1zm0 6h18v-2H1z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-bellOutline-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Ebell%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M11.5 2.19C14.09 2.86 16 5.2 16 8v6l2 2v1H2v-1l2-2V8c0-2.8 1.91-5.14 4.5-5.81V1.5C8.5.67 9.17 0 10 0s1.5.67 1.5 1.5v.69zM10 4C7.79 4 6 5.79 6 8v7h8V8c0-2.21-1.79-4-4-4zM8 18h4c0 1.1-.9 2-2 2s-2-.9-2-2z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-minerva-userAvatarOutline:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Euser avatar%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M10 8c1.7 0 3.06-1.35 3.06-3S11.7 2 10 2 6.94 3.35 6.94 5 8.3 8 10 8zm0 2c-2.8 0-5.06-2.24-5.06-5S7.2 0 10 0s5.06 2.24 5.06 5-2.26 5-5.06 5zm-7 8h14v-1.33c0-1.75-2.31-3.56-7-3.56s-7 1.81-7 3.56V18zm7-6.89c6.66 0 9 3.33 9 5.56V20H1v-3.33c0-2.23 2.34-5.56 9-5.56z'/%3E%3C/g%3E%3C/svg%3E%0A"); } @media all and (min-width: 1000px) { .mw-ui-icon-with-label-desktop, .mw-ui-icon-with-label-desktop:hover, .mw-ui-icon-with-label-desktop:focus, .mw-ui-icon-with-label-desktop:active, .mw-ui-icon-with-label-desktop:visited { color: var(--base-text-color) !important; } } .header-action .mw-ui-icon-mf-close-base20:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclose%3C/title%3E%3Cg fill='%23fff'%3E%3Cpath d='m4.3 2.9 12.8 12.8-1.4 1.4L2.9 4.3z'/%3E%3Cpath d='M17.1 4.3 4.3 17.1l-1.4-1.4L15.7 2.9z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-left { background-color: var(--body-background-color); } #mw-mf-page-left .secondary-action { border-left-color: var(--body-mid); } #mw-mf-page-left ul li { background-color: var(--body-main); border-color: var(--body-mid); } #mw-mf-page-left ul li a { color: var(--base-text-color); } #mw-mf-page-left ul li a:hover { box-shadow: inset 4px 0 0 0 var(--link-color); } #mw-mf-page-left ul.hlist li a { color: var(--background-link-color); } #mw-mf-page-left ul.hlist li a span { font-size: 0.8125rem; } .notifications-overlay.navigation-drawer { box-shadow: -1px 0 8px 0 rgba(0, 0, 0, 0.35); } .notifications-overlay .mw-echo-ui-actionMenuPopupWidget-menu { border: none; } .mw-ui-anchor.mw-ui-progressive, .mw-ui-anchor.mw-ui-progressive:active, .mw-ui-anchor.mw-ui-progressive:hover, .mw-ui-anchor.mw-ui-progressive:focus { color: var(--link-color); } .minerva-talk-full-page-button { background-color: var(--body-main); border-color: var(--body-dark); color: var(--link-color); } .minerva-talk-content-explained { border-color: var(--sidebar); color: var(--base-text-color); } .talk-overlay .comment .wikitext-editor { border-color: var(--body-border); } .client-js .skin-minerva--talk-simplified .section-heading { border-color: var(--sidebar); } .mw-notification a, .toast a { color: var(--link-color); } .drawer { background-color: var(--body-light); } .drawer.references-drawer { background-color: var(--body-light); color: var(--text-color); } .drawer.references-drawer a { color: var(--link-color); } .drawer.references-drawer .references-drawer__title { color: var(--text-color); } .drawer.references-drawer .mw-ui-icon::before { filter: brightness(0); } .cta-holder { background: var(--body-light); } .cta-holder .desc { color: var(--byline-color); } .mw-tag-marker { border-color: var(--body-border); } .oo-ui-toolGroup { background: var(--body-background-color); } .load-fail-msg { color: var(--text-color); } .load-fail-msg-link a { color: var(--link-color); } .image-carousel .image-loaded { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E%0A") repeat; } .image-details { background-color: var(--body-light); border-color: transparent; } @media all and (min-width: 720px) { .ns-special .pre-content { background-color: transparent; } .ns-special .mw-body { background: var(--body-main); } .ns-special .mw-body form { background: transparent; } } form.mw-mf-settings .oo-ui-fieldLayout, form.mw-mf-settings .oo-ui-fieldLayout:first-child { border-color: var(--body-mid); } .ns-special .content-header { border-bottom-color: var(--body-dark); } .action-history .mw-history-compareselectedversions { background-color: var(--body-main); } .action-history #pagehistory li:not(.selected) { border-bottom-color: var(--sidebar); } ul.mw-contributions-list li, ul.special li { border-color: var(--sidebar); } .page-list li > a:not(.mw-ui-icon-element), .topic-title-list li > a:not(.mw-ui-icon-element), .site-link-list li > a:not(.mw-ui-icon-element) { color: var(--byline-color); } .page-list.side-list .list-thumb, .topic-title-list.side-list .list-thumb, .site-link-list.side-list .list-thumb { color: var(--text-color); } .page-list .info, .topic-title-list .info, .site-link-list .info, .page-list .component, .topic-title-list .component, .site-link-list .component { color: var(--byline-color); } .mw-mf-user { color: var(--text-color); } .content .mw-index-pager-list-header { background-color: var(--body-mid); color: inherit; font-family: inherit; } .diff-editfont-monospace { font-family: monospace,monospace; } :root { --diff-deletedline-background: #fbc0ba; } .minoredit { background: var(--body-mid); } #mw-mf-diffview .mw-mf-diff-date { color: var(--byline-color); } #mw-mf-diffview .mw-diff-inline-deleted del, #mw-mf-diffview .mw-diff-inline-changed del { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-added ins, #mw-mf-diffview .mw-diff-inline-changed ins { background: var(--diff-addedline-background); color: var(--diff-addedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-moved { background: var(--diff-context-background); } #mw-mf-diffview #mw-mf-userinfo { background: var(--body-light); border-top-color: var(--body-border); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count { color: var(--text-color); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count div { color: var(--base-text-color); } .infobox { font-size: 85%; background-color: var(--body-light); border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); table-layout: fixed; } .content .infobox { display: table; } .content .infobox caption { display: table-caption; background: none; } .infobox .infobox-header { color: #fff; font-size: 1.15em; background: var(--body-dark); padding: 0.5em 0; text-align: center; } .infobox .infobox-subheader { background: var(--body-mid); line-height: 2em; text-align: center; color: #fff; } .infobox .infobox-subheader a { color: var(--link-color); } .infobox th:not(.infobox-nested):not(.infobox-subheader):not(.infobox-header) { text-align: right; vertical-align: top; border-right: 2px solid var(--body-mid); padding: 0.2em 0.5em; } .infobox caption.infobox-caption { text-align: center; } .infobox td { padding: 0.25em 0.5em; line-height: 1.6em; } .infobox td.infobox-nested { padding: 0.25em 0; line-height: 1em; } .infobox .infobox-padding { height: 0.5em; padding: 0; border: 0; } .infobox .infobox-image { text-align: center; } .infobox .infobox-image.inventory-image { height: 32px; } .infobox .infobox-nested { text-align: center; } .infobox .infobox-nested + .infobox-nested { border-left: 2px solid var(--body-mid); } .infobox .infobox-cell-hidden { display: none; } .infobox .infobox-full-width-content { max-width: 300px; text-align: center; overflow-x: hidden; padding: 0; } .skill-info a[href$="?action=edit"] + a[href$="?action=edit"] { display: none; } .infobox-buttons { margin-top: 0.5em; text-align: center; } .infobox-bottom-links { display: none; } .advanced-data { display: none; } @media screen and (min-width: 720px) { .content table.infobox { float: right; margin-top: 0.5em; margin-left: 1em; width: 300px !important; } .content table.infobox.skill-info { float: none; margin: 0 0 1em 0; } } .multi-infobox { margin-top: 0.5em; margin-bottom: 2.5em; } .multi-infobox .tabber { margin: 0; } .multi-infobox .tabber .tabbernav { text-align: center; margin-left: 0; } .mw-body .multi-infobox .tabber .tabbertab { padding: 5px; } .multi-infobox table.infobox { margin: 0; } .multi-infobox .infobox-buttons { margin-top: 0; } @media screen and (min-width: 720px) { .multi-infobox { float: right; margin-left: 1em; width: 300px; } } .tile { padding: 1.5em 2em 1em; } .tile h2 { font-weight: 600; border: none; margin-top: 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile-row { background: var(--body-light) !important; border: 1px solid var(--body-border); } .tile-top { padding: 1.3rem 1.5rem 2rem; } .tile-bottom { padding: 1rem 1.5rem 2rem; } .tile-bottom.read-more { padding: 0; } .tile-bottom.read-more a { padding: 1em 1.75em; } :root { --mobile-navbox-wide-bg-color: #dcd3bf; --mobile-navbox-linear-gradient: linear-gradient(to right, rgba(255, 255, 255, 0), var(--body-main) 95%, var(--body-main)); } .navbox { border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); font-size: 0.85em; } .content .navbox ul { padding-left: 0; } .content .navbox ul li { margin-bottom: 0; } @media screen and (max-width: 719px) { .navbox td, .navbox th, .navbox tr, .navbox tbody, .navbox .navbox-subgroup { display: block; } } @media screen and (min-width: 720px) { .content table.navbox, .content .navbox table { width: 100% !important; } } .navbox .navbox-subgroup { margin: 0; } .navbox .navbar { display: none; } .navbox .plink-template, .navbox img { display: none; } .navbox-title { color: var(--text-color); background-color: var(--body-dark); font-size: 140%; text-align: center; padding: 0.25em 0.85em; } @media screen and (min-width: 720px) { .navbox-title { border-bottom: 1px solid var(--body-border); } } .navbox-group-title { background-color: var(--body-mid); text-align: left; padding: 0.2em 0.85em; } @media screen and (max-width: 719px) { .navbox-group-title { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } } @media screen and (min-width: 720px) { .navbox-group-title { border: 1px solid var(--body-border); border-width: 0 1px 1px 0; width: 12vw; } } .navbox-group-title-hidden { display: none; } .navbox-list { padding: 0; position: relative; } @media screen and (min-width: 720px) { .navbox-list { border-bottom: 1px solid var(--body-border); } } .navbox-list ul { display: flex; } @media screen and (max-width: 719px) { .navbox-list ul { white-space: nowrap; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; } } @media screen and (min-width: 720px) { .navbox-list ul { padding: 0.2em 0.85em 0.5em !important; flex-wrap: wrap; } } @media screen and (min-width: 720px) { .navbox-list[style*="center"] ul { justify-content: center; } } .navbox-list li { display: inline-flex; align-items: center; height: 3.5em; margin: 0 0 0 0.85em; } @media screen and (min-width: 720px) { .navbox-list li { height: 2.1em; } .navbox-list li:first-child { margin-left: 0; } } .navbox-list li + li::before { content: '•'; display: inline-block; white-space: pre-wrap; position: relative; left: -0.425em; color: var(--text-color); pointer-events: none; } .navbox-list li + li > a + a::before { display: none; } .navbox-list li:last-child { margin-right: 2em; } .navbox-list::after { content: ''; display: block; position: absolute; background-image: var(--mobile-navbox-linear-gradient); height: 100%; width: 2.5em; top: 0; right: 0; pointer-events: none; } @media screen and (min-width: 720px) { .navbox-list::after { display: none; } } .navbox-list.navbox-parent { border-bottom: 0; padding: 0; } .navbox-list.navbox-parent::after { display: none; } .navbox-group .navbox-group .navbox-group-title { background-color: var(--body-light); padding: 0 0.85em 0 1.7em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group-title { padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-list ul { padding-left: 1.7em; } .navbox-group .navbox-group .navbox-list li { margin-bottom: 0; } .navbox-group .navbox-group .navbox-list li:first-child { margin-left: 0; } .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 0.85em; } .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0.5em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0; } } .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: transparent; padding-left: 2.55em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: var(--mobile-navbox-wide-bg-color); padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-group .navbox-list ul { padding-left: 2.55em; } .navbox-group .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 1.7em; } @keyframes slide-up { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } } .mainpage-header { margin: 2em 1em 0; } @media only screen and (max-width: 1000px) { .mainpage-header .header-intro h1 { text-align: center; font-size: 1.8em; } .mainpage-header .header-intro p { font-size: 1em; } } .mainpage-body .tile-row { width: inherit; } .mainpage-contents.tile-row { display: inherit; } .mainpage-left .tile { padding: 2.5em 1.75em 2em; } .mainpage-left .tile h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-left .tile-halves h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-recent-updates { padding: 1.5em 1em 2.5em; } .mainpage-recent-updates::before { content: 'Recent updates'; display: block; margin-left: 1.5em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 4; } .mainpage-recent-updates .tile-halves { display: inline-block; width: 100%; white-space: initial; flex: unset; } .mainpage-recent-updates .tile-halves:nth-child(1) { animation: 0.9s 0.2s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(2) { animation: 0.9s 0.4s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(3) { animation: 0.9s 0.6s both slide-up; } .mainpage-recent-updates .tile-top { height: 9em; overflow: hidden; } .mainpage-recent-updates .tile-bottom { padding-bottom: 0.5rem; } .mainpage-recent-updates .byline { margin: 0; } .mainpage-recent-updates .byline + h2 { margin: 0.025em 0 0; padding: 0; } @media only screen and (max-width: 720px) { .mainpage-recent-updates::before { text-align: center; margin: 0; grid-column: auto; } } .mainpage-contents { background: var(--body-mid); padding: 55px 1em 2em 2.5em; overflow-x: auto; grid-template-columns: repeat(6, 1fr) !important; position: relative; scroll-snap-align: center; } .mainpage-contents::before { content: 'Explore'; margin: 1em; position: absolute; top: 0; color: inherit; font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 6; } .mainpage-contents .tile-halves { border: none; background: none; box-shadow: none; width: 200px; } .mainpage-contents .tile-top { padding: 0; height: initial; } .mainpage-contents .tile-bottom { border: none; } .mainpage-contents h2 { width: 100%; } @media only screen and (max-width: 1000px) { .mainpage-skills .tile-top ul { margin: 0; } } .mainpage-wikinews::before { content: 'From the wiki'; margin-left: 0.75em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; } .mainpage-social { border: none; margin-bottom: 0; } .mainpage-social .tile-top { display: flex; align-items: center; justify-content: center; padding: 1em 2em; min-height: 70px; } .mainpage-social .tile-top .social-icon { float: left; margin: 0 1em 0 -1em; width: 60px; text-align: center; } .mainpage-social .tile-top .social-header { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0; } .mainpage-social .tile-top .social-tagline { color: rgba(255, 255, 255, 0.9); margin: 0; } .mainpage-social .tile-bottom { border: none; padding: 1em 2em; } .mainpage-social .tile-bottom p { color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; color: #fff; font-size: 0.9em; text-align: center; margin: 0; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .wikitable { background: none; box-shadow: none; } .wikitable tbody { background: var(--body-light); } .toc { background-color: var(--body-light); border-color: var(--body-border); } #filetoc li { display: inline; padding-right: 2em; } .mw-dismissable-notice-body { margin: 0; } .mw-dismissable-notice-body .mw-dismissable-notice-close-parent { border-radius: 0 !important; font-size: 0.75em; } :root { --thumb-image-background: var(--body-light); --thumb-caption-background: var(--body-mid); } .content .thumbinner { background-color: var(--thumb-bg); } .content .thumbimage { border: 1px solid transparent; border-bottom: none; } .content .thumbcaption { margin: 0; padding: 4px 6px !important; color: inherit; background: var(--thumb-caption-bg); } .content table.messagebox { margin: 0.5em auto; } .content table a > img { max-width: inherit !important; height: inherit !important; } .content .infobox a > img { max-width: 100% !important; height: auto !important; } .content .infobox-bonuses a > img { max-width: inherit !important; height: inherit !important; } 918b34fd5307f98037e3a46df2aa4eb20e5ba33a MediaWiki:Common.css 8 30 1708 1702 2024-04-02T19:35:54Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #777; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #c9c3bf; --ooui-disabled-border: #dfd6d2; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .navbox .navbox-title { color: #fff; } .navbox .navbox-list:not(last-child) { border-bottom: none; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-subheader); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox .infobox-buttons .button.button-selected { background: var(--table-header); } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-subheader a { color: var(--link-color); } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .infobox select { max-width: 300px; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: var(--body-dark); --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom h2 a { color: #fff !important; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } af69bc038bf14a6d47e28a24e6ec3c20f6c3a514 User:Merds/Sandbox 2 652 1709 1665 2024-04-03T08:37:28Z Merds 25 wikitext text/x-wiki This page contains information about the '''look of the Brighter Shores Wiki'''. ==Colours== <div class="color-container"> <div class="color-column"> <h3>Body</h3> <div class="color-group" style="background: #d1b9ad;"> <p class="variable">--body-border</p> <p class="hexcode">#d1b9ad</p> </div> <div class="color-group dark" style="background: #b1886f;"> <p class="variable">--body-dark</p> <p class="hexcode">#b1886f</p> </div> <div class="color-group" style="background: #d1b9ad;"> <p class="variable">--body-mid</p> <p class="hexcode">#d1b9ad</p> </div> <div class="color-group" style="background: #f5f0eb;"> <p class="variable">--body-light</p> <p class="hexcode">#f5f0eb</p> </div> <div class="color-group" style="background: #fdfcfc;"> <p class="variable">--body-main</p> <p class="hexcode">#fdfcfc</p> </div> <div class="color-group dark" style="background: #173a4d;"> <p class="variable">--body-background-color</p> <p class="hexcode">#173a4d</p> </div> </div> <div class="color-column"> <h3>Buttons and links</h3> <div class="color-group dark" style="background: #3c352a;"> <p class="variable">--button-border</p> <p class="hexcode">#3c352a;</p> </div> <div class="color-group dark" style="background: #18140c;"> <p class="variable">--button-dark</p> <p class="hexcode">#18140c</p> </div> <div class="color-group dark" style="background: #3a301d;"> <p class="variable">--button-light</p> <p class="hexcode">#3a301d</p> </div> <div class="color-group dark" style="background: #605443;"> <p class="variable">--osrsw-brown</p> <p class="hexcode">#605443</p> </div> <div class="color-group dark" style="background: #6e452b;"> <p class="variable">--link-color</p> <p class="hexcode">#6e452b</p> </div> <div class="color-group dark" style="background: #52351e;"> <p class="variable">--background-link-color</p> <p class="hexcode">#52351e</p> </div> </div> 4d8927a1bde3fa90602036772fb1db75605bbcda Eel Street Bridge 0 809 1710 2024-04-05T16:31:04Z Omnes Ferant 23 Created page with "{{Infobox Location |name = Eel Street Bridge |image = Eel Street Bridge.jpg |release = |premium = |episode = }} The '''Eel Street Bridge''' is a location in [[Hopeport]]. The bridge connects [[Eel Street]] and the Hopeport [[Town Square]]." wikitext text/x-wiki {{Infobox Location |name = Eel Street Bridge |image = Eel Street Bridge.jpg |release = |premium = |episode = }} The '''Eel Street Bridge''' is a location in [[Hopeport]]. The bridge connects [[Eel Street]] and the Hopeport [[Town Square]]. 6dabf12ee493aff35b65f56f4975299ed0ddbd67 1739 1710 2024-04-05T18:30:36Z Omnes Ferant 23 non-disambig link wikitext text/x-wiki {{Infobox Location |name = Eel Street Bridge |image = Eel Street Bridge.jpg |release = |premium = |episode = }} The '''Eel Street Bridge''' is a location in [[Hopeport (location)|Hopeport]]. The bridge connects [[Eel Street]] and the Hopeport [[Town Square]]. 12f8d3c31256e3d30f01ecf78246ce4022c19afd Eel Street 0 810 1711 2024-04-05T16:33:51Z Omnes Ferant 23 Created page with "{{Infobox Location |name = Eel Street |image = Eel Street.jpg |release = |premium = |episode = }} '''Eel Street''' is a location in [[Hopeport]]. A [[fishmonger]] is located on Eel Street." wikitext text/x-wiki {{Infobox Location |name = Eel Street |image = Eel Street.jpg |release = |premium = |episode = }} '''Eel Street''' is a location in [[Hopeport]]. A [[fishmonger]] is located on Eel Street. 575469b5c2d090ca00d0dc4598407428a9107df3 1738 1711 2024-04-05T18:30:34Z Omnes Ferant 23 non-disambig link wikitext text/x-wiki {{Infobox Location |name = Eel Street |image = Eel Street.jpg |release = |premium = |episode = }} '''Eel Street''' is a location in [[Hopeport (location)|Hopeport]]. A [[fishmonger]] is located on Eel Street. aff7c337523dabdeed36a7346348541c202f7b62 Central Waterfront 0 811 1712 2024-04-05T16:35:19Z Omnes Ferant 23 Created page with "{{Infobox Location |name = Central Waterfront |image = Central Waterfront.jpg |release = |premium = |episode = }} The '''Central Waterfront''' is a location in [[Hopeport]]." wikitext text/x-wiki {{Infobox Location |name = Central Waterfront |image = Central Waterfront.jpg |release = |premium = |episode = }} The '''Central Waterfront''' is a location in [[Hopeport]]. 1ddcfc10aa96138da77b7fda7be2fb97da7a1f24 1737 1712 2024-04-05T18:30:31Z Omnes Ferant 23 non-disambig link wikitext text/x-wiki {{Infobox Location |name = Central Waterfront |image = Central Waterfront.jpg |release = |premium = |episode = }} The '''Central Waterfront''' is a location in [[Hopeport (location)|Hopeport]]. 2667c6b521a8e09bdfce861bb363fbbe9dfb2073 West Waterfront 0 812 1713 2024-04-05T16:35:51Z Omnes Ferant 23 Created page with "{{Infobox Location |name = West Waterfront |image = West Waterfront.jpg |release = |premium = |episode = }} The '''West Waterfront''' is a location in [[Hopeport]]." wikitext text/x-wiki {{Infobox Location |name = West Waterfront |image = West Waterfront.jpg |release = |premium = |episode = }} The '''West Waterfront''' is a location in [[Hopeport]]. e815015b4602aa8348b60c9173912a236f493e53 1736 1713 2024-04-05T18:30:29Z Omnes Ferant 23 non-disambig link wikitext text/x-wiki {{Infobox Location |name = West Waterfront |image = West Waterfront.jpg |release = |premium = |episode = }} The '''West Waterfront''' is a location in [[Hopeport (location)|Hopeport]]. b584bf76f68c1be622ebced499c5b8ac4aee6f0d Sea Road 0 813 1714 2024-04-05T16:36:59Z Omnes Ferant 23 Created page with "{{Infobox Location |name = Sea Road |image = Sea Road.jpg |release = |premium = |episode = }} The '''Sea Road''' is a location in [[Hopeport]]." wikitext text/x-wiki {{Infobox Location |name = Sea Road |image = Sea Road.jpg |release = |premium = |episode = }} The '''Sea Road''' is a location in [[Hopeport]]. 1f666da94087fbe83d5cd9903547fb89db639eb3 1735 1714 2024-04-05T18:30:27Z Omnes Ferant 23 non-disambig link wikitext text/x-wiki {{Infobox Location |name = Sea Road |image = Sea Road.jpg |release = |premium = |episode = }} The '''Sea Road''' is a location in [[Hopeport (location)|Hopeport]]. a782ede7c503a7acbafe8e977aff79972778ba3d East Beach 0 814 1715 2024-04-05T16:37:43Z Omnes Ferant 23 Created page with "{{Infobox Location |name = East Beach |image = East Beach.jpg |release = |premium = |episode = }} The '''East Beach''' is a location in [[Hopeport]]." wikitext text/x-wiki {{Infobox Location |name = East Beach |image = East Beach.jpg |release = |premium = |episode = }} The '''East Beach''' is a location in [[Hopeport]]. 3dcf528ccac1d77fcd06b53a80737271f03cd086 1734 1715 2024-04-05T18:30:25Z Omnes Ferant 23 non-disambig link wikitext text/x-wiki {{Infobox Location |name = East Beach |image = East Beach.jpg |release = |premium = |episode = }} The '''East Beach''' is a location in [[Hopeport (location)|Hopeport]]. 1ea0bad82491826f10f7b54a76d914cbcae1ba53 Seashells Seashore 0 815 1716 2024-04-05T16:39:39Z Omnes Ferant 23 Created page with "{{Infobox Location |name = Seashells Seashore |image = Seashells Seashore.jpg |release = |premium = |episode = }} '''Seashells Seashore''' is a location in [[Hopeport]]. [[Shell]]s and a [[Rock Pool]] can be found on the beach." wikitext text/x-wiki {{Infobox Location |name = Seashells Seashore |image = Seashells Seashore.jpg |release = |premium = |episode = }} '''Seashells Seashore''' is a location in [[Hopeport]]. [[Shell]]s and a [[Rock Pool]] can be found on the beach. 115a4baecdcba573492f26d41f1142b49e592c50 1733 1716 2024-04-05T18:30:23Z Omnes Ferant 23 non-disambig link wikitext text/x-wiki {{Infobox Location |name = Seashells Seashore |image = Seashells Seashore.jpg |release = |premium = |episode = }} '''Seashells Seashore''' is a location in [[Hopeport (location)|Hopeport]]. [[Shell]]s and a [[Rock Pool]] can be found on the beach. 36b13aa6731f3669c5814e5f72df0ea352494c8f Jellyfish Landing 0 816 1717 2024-04-05T16:41:11Z Omnes Ferant 23 Created page with "{{Infobox Location |name = Jellyfish Landing |image = Jellyfish Landing.jpg |release = |premium = |episode = }} '''Jellyfish Landing''' is a location in [[Hopeport]]. [[Jellyfish]] can be found in the waters of the beach." wikitext text/x-wiki {{Infobox Location |name = Jellyfish Landing |image = Jellyfish Landing.jpg |release = |premium = |episode = }} '''Jellyfish Landing''' is a location in [[Hopeport]]. [[Jellyfish]] can be found in the waters of the beach. f1d8406c7c6d61e1a5aa95e6745273e759587b11 1732 1717 2024-04-05T18:30:18Z Omnes Ferant 23 non-disambig link wikitext text/x-wiki {{Infobox Location |name = Jellyfish Landing |image = Jellyfish Landing.jpg |release = |premium = |episode = }} '''Jellyfish Landing''' is a location in [[Hopeport (location)|Hopeport]]. [[Jellyfish]] can be found in the waters of the beach. 82f939d56f212742bfcda3e5675a0cdad018c3ab Fallen Monument 0 817 1718 2024-04-05T16:42:36Z Omnes Ferant 23 Created page with "{{Infobox Location |name = Fallen Monument |image = Fallen Monument.jpg |release = |premium = |episode = }} The '''Fallen Monument''' is a location in [[Hopeport]]. [[Carnivorous Plant]]s can be found throughout the area." wikitext text/x-wiki {{Infobox Location |name = Fallen Monument |image = Fallen Monument.jpg |release = |premium = |episode = }} The '''Fallen Monument''' is a location in [[Hopeport]]. [[Carnivorous Plant]]s can be found throughout the area. b3e58475bec41236d5d9b3acf6d4b718f85e6e3c 1731 1718 2024-04-05T18:30:16Z Omnes Ferant 23 non-disambig link wikitext text/x-wiki {{Infobox Location |name = Fallen Monument |image = Fallen Monument.jpg |release = |premium = |episode = }} The '''Fallen Monument''' is a location in [[Hopeport (location)|Hopeport]]. [[Carnivorous Plant]]s can be found throughout the area. 586bf03f2cfaa5ec3b3cfc833b79f95f54cf6474 Template:Infobox Episode 10 818 1719 2024-04-05T16:44:06Z BlackHawk 10 Created page with "{| class="wikitable infobox-episode" style="float:right" ! colspan="2" | {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center" | {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- | <b>Release date</b> || {{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- | <b>Premium</b> || {{#switch:{{lc:{{{premium|}}}}}|yes=Yes{{Mainonly|[[Category:Premium episodes]]}..." wikitext text/x-wiki {| class="wikitable infobox-episode" style="float:right" ! colspan="2" | {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- |colspan="2" style="text-align:center" | {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- | <b>Release date</b> || {{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- | <b>Premium</b> || {{#switch:{{lc:{{{premium|}}}}}|yes=Yes{{Mainonly|[[Category:Premium episodes]]}}|no=No|#default={{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Needs premium status]]}}}} |}{{Mainonly|[[Category:Episodes]]}}<noinclude>{{clear}}{{/doc}}</noinclude> fa878754763e53adf46b362361a2ae542143052b Template:Infobox Episode/doc 10 819 1720 2024-04-05T16:44:56Z BlackHawk 10 Created page with "{{Documentation}} ==Parameters== ===name=== The name of the episode. ===image=== The image of the episode. ===release=== The release date of the episode. ===premium=== Whether or not this episode requires a [[premium pass]]. ==Quick copy== <pre>{{Infobox Episode |name = |image = |release = |premium = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly>" wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the episode. ===image=== The image of the episode. ===release=== The release date of the episode. ===premium=== Whether or not this episode requires a [[premium pass]]. ==Quick copy== <pre>{{Infobox Episode |name = |image = |release = |premium = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> 4b7491a2fab1663251b5e1abe1d612bb57712200 Crater 0 820 1721 2024-04-05T16:45:18Z Omnes Ferant 23 Created page with "{{Infobox Location |name = Crater |image = Crater.jpg |release = |premium = |episode = }} The '''Crater''' is a location in [[Hopeport]]. [[Giant Ant]]s and [[Hogberries]] can be found in the Crater. Four [[Monument Piece]]s are placed throughout the area." wikitext text/x-wiki {{Infobox Location |name = Crater |image = Crater.jpg |release = |premium = |episode = }} The '''Crater''' is a location in [[Hopeport]]. [[Giant Ant]]s and [[Hogberries]] can be found in the Crater. Four [[Monument Piece]]s are placed throughout the area. fffd7ffef84581bb3e51b784d34997b263100130 1730 1721 2024-04-05T18:30:14Z Omnes Ferant 23 non-disambig link wikitext text/x-wiki {{Infobox Location |name = Crater |image = Crater.jpg |release = |premium = |episode = }} The '''Crater''' is a location in [[Hopeport (location)|Hopeport]]. [[Giant Ant]]s and [[Hogberries]] can be found in the Crater. Four [[Monument Piece]]s are placed throughout the area. a7654b0a8a99d56c230f94a1c6f1557b3b97c2d1 Crenopolis (episode) 0 793 1722 1601 2024-04-05T16:45:31Z BlackHawk 10 wikitext text/x-wiki {{Infobox Episode |name = Crenopolis |image = |release = |premium = Yes }} '''Crenopolis''' is an [[episode]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. {{Premium Pass}} 96aa265a9530582417633e61f5a527e73d42d85a Category:Episodes 14 821 1723 2024-04-05T16:45:50Z BlackHawk 10 Created page with "{{Categoryheader|pages|episodes}} [[Category:Content]]" wikitext text/x-wiki {{Categoryheader|pages|episodes}} [[Category:Content]] c950c6d8ce68145bd5efda0a4d878726ae35b440 Wasteland 0 822 1724 2024-04-05T16:46:25Z Omnes Ferant 23 Created page with "{{Infobox Location |name = Wasteland |image = Wasteland.jpg |release = |premium = |episode = }} The '''Wasteland''' is a location in [[Hopeport]]." wikitext text/x-wiki {{Infobox Location |name = Wasteland |image = Wasteland.jpg |release = |premium = |episode = }} The '''Wasteland''' is a location in [[Hopeport]]. 66f2c38b61d1691cff740199dbd2c31ab18c8a95 1729 1724 2024-04-05T18:30:12Z Omnes Ferant 23 non-disambig link wikitext text/x-wiki {{Infobox Location |name = Wasteland |image = Wasteland.jpg |release = |premium = |episode = }} The '''Wasteland''' is a location in [[Hopeport (location)|Hopeport]]. ddd15b38e30f747fa4d1c65e0f33cb4608f723b2 Category:Premium episodes 14 823 1725 2024-04-05T16:46:29Z BlackHawk 10 Created page with "{{categoryheader|pages and images|premium episodes}} {{Category ABC}} [[Category:Episodes]] [[Category:Premium Pass]]" wikitext text/x-wiki {{categoryheader|pages and images|premium episodes}} {{Category ABC}} [[Category:Episodes]] [[Category:Premium Pass]] b61f6416f2dcd3efb9d95dc296b2a626e22f64c9 Mine of Mantuban (episode) 0 790 1726 1597 2024-04-05T16:46:57Z BlackHawk 10 wikitext text/x-wiki {{Infobox Episode |name = Mine of Mantuban |image = |release = |premium = Yes }} '''Mine of Mantuban''' is an [[episodes|episode]] that can be accessed by [[player]]s who purchase the [[Premium Pass]]. {{Premium Pass}} c35e90e44bdd7114ee3c7320a4ed25b56cb69eb3 Hopeforest (episode) 0 795 1727 1606 2024-04-05T16:47:17Z BlackHawk 10 wikitext text/x-wiki {{Infobox Episode |name = Hopeforest |image = |release = |premium = No }} '''Hopeforest''' is an episode. 07e6f51eaabc3b136ec7e995eff2bf409d225a71 Hopeport (episode) 0 797 1728 1609 2024-04-05T16:47:39Z BlackHawk 10 wikitext text/x-wiki {{Infobox Episode |name = Hopeport |image = |release = |premium = No }} '''Hopeport''' is the first episode. c0156fbc12a2c314675e9fa7b6ee27ce8d51ee16 Civilian 0 824 1740 2024-04-05T18:33:21Z Omnes Ferant 23 Created page with "{{Infobox NPC |name = Civilian |image = |release = |episode = |profession = }} '''Civilians''' are NPCs found in [[Hopeport (location)|Hopeport]]." wikitext text/x-wiki {{Infobox NPC |name = Civilian |image = |release = |episode = |profession = }} '''Civilians''' are NPCs found in [[Hopeport (location)|Hopeport]]. 7c352d2141624c2d8d55c62e53d01e6829441fea Module:Param Parse 828 673 1741 1632 2024-04-06T01:49:07Z Gau Cho 5 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized image function parse.image = { name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image' } function parse.image_func(img) if img and img:find('%S') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.-%.png") or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end return parse -- </nowiki> 6f4eff74cb127eeef69ad950db13129df44d6831 1745 1741 2024-04-06T01:53:48Z Gau Cho 5 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized image function function parse.image_func(img) if img and img:find('%S') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.-%.png") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image' } -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end return parse -- </nowiki> c7a4e1beec4a85b30ffe1ab9b40981cd320ea9ed 1746 1745 2024-04-06T01:59:34Z Gau Cho 5 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Generic functions -- ----------------------- -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end -- Premade Params -- -------------------- -- Standardized name function parse.name = { name = 'name', func = parse.has_content, smw_property = 'Name', } -- Standardized image function function parse.image_func(img) if img and img:find('%S') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.-%.png") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image', } -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode_func(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end parse.episode = { name = 'episode', func = parse.episode_func, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Needs episode', } -- Premium parse.premium = { name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no, category_incomplete = 'Needs premium status', } return parse -- </nowiki> 13027439b50f20a6283741bf0338ec91c35e4b8a 1751 1746 2024-04-06T02:11:43Z Gau Cho 5 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Generic functions -- ----------------------- -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end -- Premade Params -- -------------------- -- Standardized name function parse.name = { name = 'name', func = parse.has_content, smw_property = 'Name', } -- Standardized image function function parse.image_func(img) if img and img:find('%S') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.-%.png") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image', } -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode_func(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end parse.episode = { name = 'episode', func = parse.episode_func, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Needs episode', } -- Premium parse.premium = { name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no, category_incomplete = 'Needs premium status', } -- Release (TODO) parse.release = { name = 'release', func = parse.has_content, } return parse -- </nowiki> 4067dc723430ae48bdc6142bb202f33eb0f6545c Module:Infobox Profession 828 800 1742 1629 2024-04-06T01:49:22Z Gau Cho 5 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { parse.image, {name = 'image', func = parse.image, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image'}, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) return infobox end return p c7f2141be7bc85802e9558dc9458478a4e8f911d 1743 1742 2024-04-06T01:50:55Z Gau Cho 5 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, parse.image {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) return infobox end return p e89f67dad2d9587de63c84e8a58f7fb234abc1ed 1744 1743 2024-04-06T01:51:18Z Gau Cho 5 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { {name = 'name', func = parse.has_content, smw_property = 'Name'}, parse.image, {name = 'release', func = parse.has_content}, {name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no, category_incomplete = 'Needs premium status'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) return infobox end return p f9f9b0c37615aa6ca57c7dc30ca8529739455966 1747 1744 2024-04-06T01:59:39Z Gau Cho 5 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { parse.name, parse.image, {name = 'release', func = parse.has_content}, parse.premium, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) return infobox end return p 23ab33a3c2f42efdb77943e6b62b4d08e39c7f7d Module:Infobox 828 102 1748 1693 2024-04-06T02:00:39Z Gau Cho 5 Shorten subobject name Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Handle the no version case - check for a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') end -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') self.versions = 0 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-index', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do local button = buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) -- In case of dropdown list, hide the buttons as the switch gadget will convert them to a dropdown list - we can't directly create the dropdown list here as the select/option tags are rejected by wikitext if self.versions > self.max_buttons then button:addClass('hidden') end end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() local versions = (self.versions > 1) and self.versions or 1 -- Grab versions, but convert 0 -> 1 for version=1, versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {Infobox = self.infobox_name} -- Also store the current Infobox name for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions <= 1 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox 8aa793841686e67e4163f49de96248469706633f Module:Infobox/doc 828 504 1749 1624 2024-04-06T02:03:36Z Gau Cho 5 wikitext text/x-wiki {{documentation}} {{ToC|right}} ==Creating a template step-by-step== ===Import Module:Infobox and Module:Param Parse=== <syntaxhighlight lang="lua"> local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') </syntaxhighlight> ===Unpack the frame arguments from the Template=== <syntaxhighlight lang="lua"> local p = {} function p.main(frame) local args = frame:getParent().args ... </syntaxhighlight> ===Setup the Module config settings=== <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', } </syntaxhighlight> ===Map your arguments to parsing functions=== {{Main|Module:Param Parse}} Use the params in [[Module:Param Parse]] to validate and format the data - feel free to create your own new params in [[Module:Param Parse]]. <syntaxhighlight lang="lua"> local params = { parse.name, parse.image, {name = 'examine', func = parse.has_content, smw_property = 'Examine'}, -- Custom param parse.episode, ... } </syntaxhighlight> ===Define an Infobox object=== {{Main|Module:Infobox#new}} <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ===Create your table=== {{Main|Module:Infobox#create}} <syntaxhighlight lang="lua"> infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } :add_row{ {tag='td', content=Infobox.param('image'), colspan='2'}, } :pad(2) :add_row{ {tag='td', content='[[Examine]]'}, {tag='td', content=Infobox.param('examine')}, } :add_row{ {tag='td', content='[[Episode]]'}, {tag='td', content=Infobox.param('episode')}, } ... </syntaxhighlight> ===You're done!=== <syntaxhighlight lang="lua"> return infobox end return p </syntaxhighlight> ==Functions== === Referring to params === Each parameter can have a different value for each version. In addition, there are 3 different representations of each value. Therefore, a parameter must be accessed via one of the 3 helper functions: {| class="wikitable" ! helper function ! example ! explanation |- | Infobox.raw_param(name) | "1000" | Raw value as passed by the Template |- | Infobox.param(name) | "1,000" | Value formatted for display in the Infobox |- | Infobox.smw_param(name) | 1000 | Value formatted to be saved as an SMW property |} === Special params === These parameters are handled specially by the module: {| class="wikitable" ! param ! explanation |- | version1, version2, version3 | Button label and SMW name for each switch version of the infobox |- | default_version | The default version to display when the page is loaded |- | version | If there is only a single version, you can use version to set the SMW name (default SMW name is "DEFAULT") |} === Infobox.new(config, params, args) === Creates a new infobox. Automatically parses the arguments, creates SMW subobjects and adds categories. <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ==== config ==== There are only 2 parameters for config <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', -- mandatory unique identifier for css max_buttons = 6, -- optional, defaults to 6, max number of switch buttons before using a dropdown list instead } </syntaxhighlight> ==== params ==== A list of parameters to be processed by the Infobox module <syntaxhighlight lang="lua"> local params = { { name = <param>, func = <func>, ... }, ... } </syntaxhighlight> {| class="wikitable" ! key ! value |- | name | parameter name as used in the Template |- | func | A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended. If func is a function, will call func(Infobox.raw_param(name)): <syntaxhighlight lang="lua"> {name = <param>, func = <func>, ... }, </syntaxhighlight> If func is a table, it takes the following parameters: <syntaxhighlight lang="lua"> {name = <param>, func = { name = <func>, params = <func_params>}, ... }, </syntaxhighlight> {| class="wikitable" | name | function in [[Module:Param Parse]] |- | params | a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name) |} |- | empty (optional) | text to display in the infobox if func returns nil; defaults to "? (edit)" |- | category_never (optional) | category to add if func returns nil for all versions |- | category_partial (optional) | category to add if func returns nil for some versions, but a value for other versions |- | category_incomplete (optional) | category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) |- | category_complete (optional) | category to add if func returns a value for all versions |- | smw_property (optional) | if this string is defined, the parameter will be saved into SMW |- | smw_func (optional) | function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |} ==== args ==== Arguments passed via the Template <syntaxhighlight lang="lua"> local args = frame:getParent().args </syntaxhighlight> === infobox:is_param_defined(param) === Used to conditionally display a line in the infobox <syntaxhighlight lang="lua"> infobox:add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } if infobox:is_param_defined(Infobox.param('owner')) > 0 then infobox:add_row{ {tag='td', content='[[Owner]]'}, {tag='td', content=Infobox.param('owner')}, } end </syntaxhighlight> {| class="wikitable" | param | a parameter referenced via Infobox.raw_param(name), Infobox.param(name) or Infobox.smw_param(name) |- | Returns | 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions |} === Infobox:add_row(...) === Adds a row to the infobox table. Parameter should be a table of cells: <syntaxhighlight lang="lua"> infobox:add_row{ {tag='td', content='[[Cell1]]', ...}, {tag='td', content=Infobox.param('param'), ...}, {tag='td', content='[[Cell3]]', ...}, ... addClass = 'row-class' } </syntaxhighlight> Each cell should have a set of key-values, of which only the tag and content are mandatory: {| class="wikitable" ! key ! value |- | tag | 'td' or 'th' |- | content | a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) |- | attr (optional) | a table of attributes to add to the cell mw.html:attr({ arg1 = '1', ... }) |- | css (optional) | a table of css to add to the cell mw.html:css({ arg1 = '1', ... }) |- | class (optional) | a string with a class to add, or a table of classes to add. '''infobox-header''', '''infobox-subheader''' and '''infobox-image''' are commonly used. mw.html:addClass(...) |- | rowspan (optional) | Set the cell rowspan mw.html:attr('rowspan',arg) |- | rowspan (optional) | Set the cell colspan mw.html:attr('colspan',arg) |- | title (optional) | Set the cell title mw.html:attr('title',arg) |} === Infobox:pad(colspan, class) === Adds a blank row of padding spanning the given number of columns. Will always add the class '''infobox-padding''', but can optionally add another class: <syntaxhighlight lang="lua"> infobox:pad("10", class=<class>) </syntaxhighlight> === Infobox:addClass(class) === Adds a class to the entire table <syntaxhighlight lang="lua"> infobox:addClass(class) </syntaxhighlight> dbc97817a6489fcb407ef00f60d459db70a281b2 Module:Param Parse/doc 828 781 1750 1628 2024-04-06T02:10:47Z Gau Cho 5 wikitext text/x-wiki {{documentation}} These params and functions are used to validate and format information passed into an Infobox. See [[Module:Infobox]] for details and instructions on creating an Infobox. If the information is missing or not valid, the functions here should return nil. Here is a summary of all the params: {| class="wikitable" ! param ! explanation |- | parse.image | <nowiki>[[File:IMAGE.png]]</nowiki>. Use the class '''infobox-image''' in the table |- | parse.episode | Episode name |- | parse.premium | Premium (Yes, No, N/A) |} Here are some general use functions that can be used for custom or new params: {| class="wikitable" ! function name ! explanation |- | has_content(arg) | Returns arg if any non-whitespace character is found in the string. |- | number(num) | Removes any commas and parses the string as a number |- | yes_no(text) | Only accepts "Yes", "No" and "N/A" |- | yes_no_smw(text) | Maps "Yes", "No" to true and false respectively |} == Creating New Params == Ideally, params should be defined here so that they can be reused between different Infoboxes. Here is how to create a new param: <syntaxhighlight lang="lua"> param.paramname = { name = <param>, func = <func>, empty = 'empty', -- optional category_never = 'category', -- optional category_partial = 'category', -- optional category_incomplete = 'category', -- optional category_complete = 'category', -- optional smw_property = 'Property', -- optional smw_func = <func>, -- optional } </syntaxhighlight> {| class="wikitable" ! key ! value |- | name | parameter name as used in the Template |- | func | A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended. If func is a function, will call func(Infobox.raw_param(name)): <syntaxhighlight lang="lua"> {name = <param>, func = <func>, ... }, </syntaxhighlight> If func is a table, it takes the following parameters: <syntaxhighlight lang="lua"> {name = <param>, func = { name = <func>, params = <func_params>}, ... }, </syntaxhighlight> {| class="wikitable" | name | function in [[Module:Param Parse]] |- | params | a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name) |} |- | empty (optional) | text to display in the infobox if func returns nil; defaults to "? (edit)" |- | category_never (optional) | category to add if func returns nil for all versions |- | category_partial (optional) | category to add if func returns nil for some versions, but a value for other versions |- | category_incomplete (optional) | category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) |- | category_complete (optional) | category to add if func returns a value for all versions |- | smw_property (optional) | if this string is defined, the parameter will be saved into SMW |- | smw_func (optional) | function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |} 02928948046de37f51294b4fbce6ce37f742b164 1752 1750 2024-04-06T02:11:57Z Gau Cho 5 wikitext text/x-wiki {{documentation}} These params and functions are used to validate and format information passed into an Infobox. See [[Module:Infobox]] for details and instructions on creating an Infobox. If the information is missing or not valid, the functions here should return nil. Here is a summary of all the params: {| class="wikitable" ! param ! explanation |- | parse.image | <nowiki>[[File:IMAGE.png]]</nowiki>. Use the class '''infobox-image''' in the table |- | parse.episode | Episode name |- | parse.premium | Premium (Yes, No, N/A) |- | parse.release | TODO |} Here are some general use functions that can be used for custom or new params: {| class="wikitable" ! function name ! explanation |- | has_content(arg) | Returns arg if any non-whitespace character is found in the string. |- | number(num) | Removes any commas and parses the string as a number |- | yes_no(text) | Only accepts "Yes", "No" and "N/A" |- | yes_no_smw(text) | Maps "Yes", "No" to true and false respectively |} == Creating New Params == Ideally, params should be defined here so that they can be reused between different Infoboxes. Here is how to create a new param: <syntaxhighlight lang="lua"> param.paramname = { name = <param>, func = <func>, empty = 'empty', -- optional category_never = 'category', -- optional category_partial = 'category', -- optional category_incomplete = 'category', -- optional category_complete = 'category', -- optional smw_property = 'Property', -- optional smw_func = <func>, -- optional } </syntaxhighlight> {| class="wikitable" ! key ! value |- | name | parameter name as used in the Template |- | func | A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended. If func is a function, will call func(Infobox.raw_param(name)): <syntaxhighlight lang="lua"> {name = <param>, func = <func>, ... }, </syntaxhighlight> If func is a table, it takes the following parameters: <syntaxhighlight lang="lua"> {name = <param>, func = { name = <func>, params = <func_params>}, ... }, </syntaxhighlight> {| class="wikitable" | name | function in [[Module:Param Parse]] |- | params | a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name) |} |- | empty (optional) | text to display in the infobox if func returns nil; defaults to "? (edit)" |- | category_never (optional) | category to add if func returns nil for all versions |- | category_partial (optional) | category to add if func returns nil for some versions, but a value for other versions |- | category_incomplete (optional) | category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) |- | category_complete (optional) | category to add if func returns a value for all versions |- | smw_property (optional) | if this string is defined, the parameter will be saved into SMW |- | smw_func (optional) | function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |} f822a5aa5a9dba25d0362efaa11e635c371cd4ac Module:Infobox Episode 828 825 1753 2024-04-06T02:15:39Z Gau Cho 5 Created page with "local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Episode', } local params = { parse.name, parse.image, parse.release, parse.premium, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{..." Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Episode', } local params = { parse.name, parse.image, parse.release, parse.premium, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) return infobox end return p 980f30eead0a66a162b96816098835c4b26a3cd1 Template:Infobox Episode 10 818 1754 1719 2024-04-06T02:16:21Z Gau Cho 5 wikitext text/x-wiki {{#invoke:Infobox Episode|main}}{{Mainonly|[[Category:Episodes]]}}<noinclude>{{/doc}}</noinclude> 5938943a317610bbda2db34c15e8ca5470150890 Module:Param Parse 828 673 1755 1751 2024-04-06T02:19:03Z Gau Cho 5 Fix yes_no Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Generic functions -- ----------------------- -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] ~= nil then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end -- Premade Params -- -------------------- -- Standardized name function parse.name = { name = 'name', func = parse.has_content, smw_property = 'Name', } -- Standardized image function function parse.image_func(img) if img and img:find('%S') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.-%.png") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image', } -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode_func(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end parse.episode = { name = 'episode', func = parse.episode_func, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Needs episode', } -- Premium parse.premium = { name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no, category_incomplete = 'Needs premium status', } -- Release (TODO) parse.release = { name = 'release', func = parse.has_content, } return parse -- </nowiki> 1344f54ad8321a97dd269602570c012b11bfeca3 1765 1755 2024-04-06T02:32:34Z Gau Cho 5 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Generic functions -- ----------------------- -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] ~= nil then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end -- Premade Params -- -------------------- -- Standardized name function parse.name = { name = 'name', func = parse.has_content, smw_property = 'Name', } -- Standardized image function function parse.image_func(img) if img and string.match('[[File:.-%.png]]') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.-%.png") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image', } -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode_func(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end parse.episode = { name = 'episode', func = parse.episode_func, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Needs episode', } -- Premium parse.premium = { name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no, category_incomplete = 'Needs premium status', } -- Release (TODO) parse.release = { name = 'release', func = parse.has_content, } return parse -- </nowiki> 18eb71c5f60a757049ca33437b392eac7cacfe77 1766 1765 2024-04-06T02:33:19Z Gau Cho 5 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Generic functions -- ----------------------- -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] ~= nil then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end -- Premade Params -- -------------------- -- Standardized name function parse.name = { name = 'name', func = parse.has_content, smw_property = 'Name', } -- Standardized image function function parse.image_func(img) if img and string.match(img, '[[File:.-%.png]]') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.-%.png") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image', } -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode_func(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end parse.episode = { name = 'episode', func = parse.episode_func, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Needs episode', } -- Premium parse.premium = { name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no, category_incomplete = 'Needs premium status', } -- Release (TODO) parse.release = { name = 'release', func = parse.has_content, } return parse -- </nowiki> 8eadd11e1a3cbdf97bf78afc6bd41c92dfcd7476 Module:Infobox Episode/doc 828 826 1756 2024-04-06T02:19:46Z Gau Cho 5 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Module:Infobox Profession 828 800 1757 1747 2024-04-06T02:20:44Z Gau Cho 5 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Profession', } local params = { parse.name, parse.image, parse.release, parse.premium, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) return infobox end return p ef5652c093bebf29e884402f7a5a36c1622977b7 Module:Infobox Item 828 827 1758 2024-04-06T02:24:07Z Gau Cho 5 Created page with "local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Item', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, {name = 'profession', func = parse.has_content, category_incomplete = 'Items needing profession', smw_func = 'Profession'}, -- TODO - move to Module:Param Parse onc..." Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Item', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, {name = 'profession', func = parse.has_content, category_incomplete = 'Items needing profession', smw_func = 'Profession'}, -- TODO - move to Module:Param Parse once more details are available {name = 'value', func = parse.number, category_incomplete = 'Items needing value', smw_func = 'Value'}, -- TODO - move to Module:Param Parse once more details are available } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Profession]]', colspan="6"}, {tag='td', content=Infobox.param('profession'), colspan="14"}, } :add_row{ {tag='th', content='[[Value]]', colspan="6"}, {tag='td', content=Infobox.param('value'), colspan="14"}, } :pad(20) return infobox end return p 44bdb923b4b6a8710850593871c5179227cdc831 1761 1758 2024-04-06T02:28:24Z Gau Cho 5 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Item', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, {name = 'profession', func = parse.has_content, category_incomplete = 'Items needing profession', smw_func = 'Profession'}, -- TODO - move to Module:Param Parse once more details are available {name = 'value', func = parse.number, category_incomplete = 'Items needing value', smw_func = 'Value'}, -- TODO - move to Module:Param Parse once more details are available } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Profession]]', colspan="6"}, {tag='td', content=Infobox.param('profession'), colspan="14"}, } :add_row{ {tag='th', content='Value', colspan="6"}, {tag='td', content=Infobox.param('value'), colspan="14"}, } :pad(20) return infobox end return p 352a527cf86b3b370d050dc6ed5d6d527b327354 1770 1761 2024-04-06T02:35:32Z Gau Cho 5 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Item', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, {name = 'profession', func = parse.has_content, category_incomplete = 'Items needing profession', smw_func = 'Profession'}, -- TODO - move to Module:Param Parse once more details are available {name = 'value', func = parse.number, category_incomplete = 'Items needing value', smw_func = 'Value'}, -- TODO - move to Module:Param Parse once more details are available } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Profession]]', colspan="6"}, {tag='td', content=Infobox.param('profession'), colspan="14"}, } :add_row{ {tag='th', content='Value', colspan="6"}, {tag='td', content=Infobox.param('value'), colspan="14"}, } :pad(20) return infobox end return p 04af6d2f24e865593c743950629f9de4a2e33b04 Template:Infobox Item 10 77 1759 1441 2024-04-06T02:24:41Z Gau Cho 5 Replaced content with "{{#invoke:Infobox Item|main}}{{Mainonly|[[Category:Items]]}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{#invoke:Infobox Item|main}}{{Mainonly|[[Category:Items]]}}<noinclude>{{/doc}}</noinclude> 19f1ab40738e494ea63d7f441739fd01ee6db3ee Basic bacon 0 84 1760 1312 2024-04-06T02:27:59Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Basic bacon |image = [[File:Basic bacon.png]] |release = |episode = |profession = [[Chef]] |value = }} '''Basic bacon''' is a food that can be created using the [[Chef]] profession. It can be obtained by frying [[raw basic bacon]] in a kitchen.<ref>https://brightershores.com/screenshots/02_cooking.jpg</ref> ==References== {{Reflist}} [[Category:Food]] 38f8dad28e766976df451c3712e20a94f4d07b9a Sturlet 0 67 1762 1322 2024-04-06T02:29:03Z Gau Cho 5 wikitext text/x-wiki {{Infobox Item |name = Sturlet |image = |release = |episode = |profession = [[Fisher]] |value = }} '''Sturlet''' is a type of [[fish]] that gives 7 experience in the [[Fisher]] profession per catch.<ref>https://brightershores.com/screenshots/12_vincible.jpg</ref> ==References== {{Reflist}} e3d11647905f1e5cbf3843d91e10a968d5d055bb Crossbow 0 192 1763 1357 2024-04-06T02:29:24Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Crossbow |image = [[File:Crossbow.png]] |release = |episode = |profession = Combat |value = 0 }} '''Crossbows''' are a type of [[weapon]] in [[Brighter Shores]], typically utilised by the [[guardian]] class. ==References== {{Reflist}} [[Category:Equipment]] ac16f0a364d9893d7abc2b2758038ddccfa58eb7 Category:Needs episode 14 828 1764 2024-04-06T02:30:35Z Gau Cho 5 Created page with "{{Categoryheader|pages|pages that needs the episode added|yes|infoboxes that need the episode parameter filled}} {{Hidden category}} [[Category:Needs information]] [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__" wikitext text/x-wiki {{Categoryheader|pages|pages that needs the episode added|yes|infoboxes that need the episode parameter filled}} {{Hidden category}} [[Category:Needs information]] [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__ 969539d67f2a42015e1b0e80fc16cc68b9ce9a0a Sword 0 193 1767 1416 2024-04-06T02:34:06Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Sword |image = [[File:Sword.png]] |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Swords'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> are a type of [[weapon]] in [[Brighter Shores]], typically utilised by the [[cryoknight]] class. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] 4321b29e431288800fd85b177ae17c85fd21b97a 1789 1767 2024-04-06T02:41:49Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Sword |image = [[File:Sword.png]] |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Swords'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> are a type of [[weapon]] in [[Brighter Shores]], typically utilised by the [[cryoknight]] class. ==References== {{Reflist}} [[Category:Equipment]] 2a3be72a46025bde1d348935d6498cf9e32514c0 Property:Infobox 302 829 1768 2024-04-06T02:34:29Z Gau Cho 5 Created page with "{{Property|type=text}}" wikitext text/x-wiki {{Property|type=text}} bb3fcbac32fa65eb44caa27878d9413b33012db5 Branch 0 464 1769 1313 2024-04-06T02:35:09Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Branch |image = [[File:Branch.png]] |release = |episode = Hopeforest |profession = [[Woodcutter]] |value = 48 }} '''Branches''' can be collected by the [[Woodcutter]] [[profession]] in [[Hopeforest]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} e63309d63e27cd4d9da7a84fdfe81fc9bcf35202 Miner potion 0 465 1771 1319 2024-04-06T02:36:01Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Miner potion |image = [[File:Miner potion.png]] |release = |episode = Hopeport |profession = [[Alchemist]] |value = 16 }} '''Miner potions''' are a type of [[potion]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] b8e463cd924dd76db15ab8722b02dceb6dc8a2b6 Raw basic bacon 0 478 1772 1321 2024-04-06T02:36:23Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Raw basic bacon |image = [[File:Raw basic bacon.png]] |release = |episode = |profession = [[Chef]] |value = }} '''Raw basic bacon''' is an item that can be fried to [[basic bacon]] using the [[Chef]] profession.<ref>https://brightershores.com/screenshots/02_cooking.jpg</ref> ==References== {{Reflist}} [[Category:Food]] d8056fd96ae3790b8f99ecbb60a248b7319a1883 Hammermage potion 0 632 1773 1316 2024-04-06T02:36:35Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Hammermage potion |image = [[File:Hammermage potion.png]] |release = |episode = Hopeport |profession = Alchemist |value = 330 }} The '''Hammermage potion''' is a type of [[potion]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] a44bce2f575073fa4c27ce1d97b00374b5eee06d Coif 0 634 1774 1314 2024-04-06T02:37:03Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Coif |image = [[File:Coif.png]] |release = |profession = Combat |value = 0 }} The '''coif''' is a piece of equipment worn on the head.<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Equipment]] 47e4fa63cd76dd875f1e4064871864c619a96c09 Merchant potion 0 636 1775 1318 2024-04-06T02:37:25Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Merchant potion |image = [[File:Merchant potion.png]] |release = |episode = Hopeport |profession = [[Alchemist]] |value = 18 }} The '''Merchant potion''' is a type of [[potion]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] fcd43a61fff844be8f6ca2686831e4ceeac2b4a3 Health potion 0 645 1776 1317 2024-04-06T02:37:40Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Health potion |image = [[File:Health potion.png]] |release = |profession = Alchemist |value = }} '''Health potions''' are a type of [[potion]]<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref>, most likely used to restore one's health in [[combat]]. ==References== {{Reflist}} [[Category:Potions]] 784385ef28ab2e89d12e009166b338399463cbe0 Strength Cryonae 0 647 1777 1315 2024-04-06T02:38:15Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Cryoknight potion |image = [[File:Cryoknight potion.png]] |release = |profession = Alchemist |value = }} '''Cryoknight potions''' are a type of [[potion]].<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] 0de592332e9c06012b419205b3a45963046089e2 Staff 0 733 1778 1414 2024-04-06T02:38:30Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Staff |image = [[File:Staff.png]] |release = |episode = |profession = Combat |value = }} A '''staff''' is a type of [[weapon]] in [[Brighter Shores]]<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] 386d4859b481927c9edd33799161d4ee302047ce 1792 1778 2024-04-06T02:42:12Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Staff |image = [[File:Staff.png]] |release = |episode = |profession = Combat |value = }} A '''staff''' is a type of [[weapon]] in [[Brighter Shores]]<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref>. ==References== {{Reflist}} [[Category:Equipment]] cb5a852d0d822a9c102182675973bc66b7a41d0b Mace 0 734 1779 1366 2024-04-06T02:38:47Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Mace |image = [[File:Mace.png]] |release = |episode = |profession = Combat |value = }} A '''mace''' is a type of [[weapon]] in [[Brighter Shores]]<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref>. [[File:Mace equipped.png|200px|left|A player with a mace equipped.]] ==References== {{Reflist}} [[Category:Equipment]] bbf128bef0bb4969123d7de60773c6ca10e5020c Log 0 750 1780 1396 2024-04-06T02:39:01Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Log |image = [[File:Log.png]] |release = Q3 [[2024]] |episode = Hopeforest |profession = Woodcutter |value = 48 }} '''Log'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] ad38cf3b0948f004910dac89fa24dc24f7bcde2f 1794 1780 2024-04-06T02:42:22Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Log |image = [[File:Log.png]] |release = Q3 [[2024]] |episode = Hopeforest |profession = Woodcutter |value = 48 }} '''Log'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} 0d03c2a00b602aabe29888de99dabbfe600a17bd Log basket 0 751 1781 1397 2024-04-06T02:39:20Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Log basket |image = [[File:Log basket.png]] |release = Q3 [[2024]] |episode = Hopeforest |profession = Woodcutter |value = 22 }} '''Log basket'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] 098618411899aceffe83a70531907f0cf2327688 1793 1781 2024-04-06T02:42:17Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Log basket |image = [[File:Log basket.png]] |release = Q3 [[2024]] |episode = Hopeforest |profession = Woodcutter |value = 22 }} '''Log basket'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} c7ca4ebee67963228dff295e0e595a5151ec6816 Iron platebody 0 752 1782 1412 2024-04-06T02:39:32Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Iron platebody |image = [[File:Iron platebody.png]] |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Iron platebody'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] bd511edff1512262a375b085440a843790546863 1795 1782 2024-04-06T02:42:26Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Iron platebody |image = [[File:Iron platebody.png]] |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Iron platebody'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Equipment]] 87c4bd78fc5a690fa7aaef1b35f4c9292b5ec2f5 Iron legs 0 753 1783 1411 2024-04-06T02:39:49Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Iron legs |image = [[File:Iron legs.png]] |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Iron legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] eb8243cc1df112c3ed5825a71aadf97e7352e73d 1796 1783 2024-04-06T02:42:31Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Iron legs |image = [[File:Iron legs.png]] |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Iron legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Equipment]] e0873e0f18883e7f76db834efc3447fd743139a2 Bronze legs 0 754 1784 1410 2024-04-06T02:40:03Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Bronze legs |image = [[File:Bronze legs.png]] |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Bronze legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] 09f18d66c53d34d13c7be5d9cc846e50f5ec77b1 1797 1784 2024-04-06T02:42:35Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Bronze legs |image = [[File:Bronze legs.png]] |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Bronze legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Equipment]] 42299ef249edcb51fdc00dd289e73c0571e0688a Shield 0 755 1785 1417 2024-04-06T02:40:20Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Shield |image = [[File:Shield.png]] |release = Q3 [[2024]] |episode = Hopeport |profession = Combat |value = 50 }} '''Shield'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] c366700f1c47435d10d85109842a2f7e4b3e12d2 1790 1785 2024-04-06T02:41:56Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Shield |image = [[File:Shield.png]] |release = Q3 [[2024]] |episode = Hopeport |profession = Combat |value = 50 }} '''Shield'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Equipment]] 22bfc3c6cf3d281a1771de74991b8d41c8a32d74 Steel legs 0 756 1786 1446 2024-04-06T02:40:33Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Steel legs |image = [[File:Steel legs.png]] |premium = Yes |release = Q3 [[2024]] |episode = Mine of Mantuban |profession = Combat |value = 200 }} '''Steel legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] 39a43ddbe655220347dce5814ca9434dd30b01ed 1798 1786 2024-04-06T02:42:40Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Steel legs |image = [[File:Steel legs.png]] |premium = Yes |release = Q3 [[2024]] |episode = Mine of Mantuban |profession = Combat |value = 200 }} '''Steel legs'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Equipment]] e87f9e6745b7a86c775207f9594cdae1892b1bf2 Skeleton platebody 0 757 1787 1451 2024-04-06T02:40:57Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Skeleton platebody |image = [[File:Skeleton platebody.png]] |premium = Yes |release = Q3 [[2024]] |episode = Mine of Mantuban |profession = Combat |value = 100 }} '''Skeleton platebody'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Items]] [[Category:Equipment]] 630b8f33249a9876004e606351a789840d7bc480 1788 1787 2024-04-06T02:41:44Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Skeleton platebody |image = [[File:Skeleton platebody.png]] |premium = Yes |release = Q3 [[2024]] |episode = Mine of Mantuban |profession = Combat |value = 100 }} '''Skeleton platebody'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Equipment]] 7ce97053dbb13c92e71ec7e44943783ba42fd55d Coins 0 441 1791 1195 2024-04-06T02:42:05Z Gau Cho 5 wikitext text/x-wiki '''Coins''' are the currency of [[Brighter Shores]]. They come in three types: {| class="wikitable" ! colspan="2" | Coin ! Worth in<br />copper coins |- | [[File:Copper coin.png|18px]] | Copper coin | 1 |- | [[File:Silver coin.png|18px]] | Silver coin | 1,000 |- | [[File:Gold coin.png|18px]] | Gold coin | 1,000,000 |} The three types are not separate currencies; there are 1,000 copper coins to a silver coin, and 1,000 silver coins to a gold coin.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1771788649589289317|author=Andrew Gower|date=24 March 2024|accessdate=24 March 2024|archiveurl=https://archive.is/UBk1j|archivedate=24 March 2024|quote=there isnt multiple currencies. There is 1000 copper to a silver, and 1000 silver to a gold.}} ==References== {{Reflist}} 0b8fff85013c8bb147d5053af03725b5d3aaa4ff Property:Premium 302 830 1799 2024-04-06T02:43:55Z Gau Cho 5 Created page with "{{property|type=boolean}}" wikitext text/x-wiki {{property|type=boolean}} 2cbc30543419a0b2c67e3e032254ec8eba536499 Property:Episode 302 831 1800 2024-04-06T02:47:54Z Gau Cho 5 Created page with "{{property|type=keyword}}" wikitext text/x-wiki {{property|type=keyword}} 415a0d2460c878ff3c7adb1a82f22b8efa501761 Module:Infobox Item/doc 828 832 1801 2024-04-06T02:50:29Z Gau Cho 5 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 MediaWiki:Minerva.less/infobox.less 8 418 1802 1705 2024-04-06T02:53:17Z Gau Cho 5 Remove some unused classes less less /* ==================== infoboxes ==================== */ @infobox-background: @BODY_LIGHT; @infobox-header-color: @BODY_DARK; @infobox-border-color: @BODY_BORDER; @infobox-subheader-color: @BODY_MID; .infobox { font-size: 85%; background-color: @infobox-background; border: 1px solid @infobox-border-color; box-shadow: @box-shadow; table-layout: fixed; // override minerva's mobile-friendlyness // our infoboxes shouldn't be scrollable anyway .content & { display: table; caption { display: table-caption; background: none; // bg in > 720px } } .infobox-header { color: @white; font-size: 1.15em; background: @infobox-header-color; padding: .5em 0; text-align: center; } .infobox-subheader { background: @infobox-subheader-color; line-height: 2em; text-align: center; color: @white; a { color: var(--link-color); } } th:not(.infobox-nested):not(.infobox-subheader):not(.infobox-header) { text-align: right; vertical-align: top; border-right: 2px solid @infobox-subheader-color; padding: 0.2em 0.5em; } caption.infobox-caption { text-align: center; } td { padding: 0.25em 0.5em; line-height: 1.6em; &.infobox-nested { padding: 0.25em 0; line-height: 1em; } } .infobox-padding { height: 0.5em; padding: 0; border: 0; } .infobox-image { text-align: center; } .infobox-nested { text-align: center; &+.infobox-nested { border-left: 2px solid @infobox-subheader-color; } } .infobox-cell-hidden { display: none; } .infobox-full-width-content { max-width: 300px; text-align: center; overflow-x: hidden; padding: 0; } } .infobox-buttons { margin-top: 0.5em; text-align: center; } // Hides advanced data. Class gets replaced by .advanced-data-display // if the showAdvancedData gadget is enabled. .advanced-data { display: none; } @media screen and (min-width: @width-breakpoint-tablet) { .content table.infobox { float: right; margin-top: 0.5em; margin-left: 1em; width: 300px !important; // Needed to compete with !important for .content table &.skill-info { float: none; margin: 0 0 1em 0; } } } @media screen and (min-width: @width-breakpoint-tablet) { .multi-infobox { float: right; margin-left: 1em; width: 300px; } } 15336800bb992051f329505e5c36c64a5f6194d5 MediaWiki:Minerva.css 8 422 1803 1707 2024-04-06T02:53:27Z Gau Cho 5 Updating CSS from [[MediaWiki:Minerva.less]] css text/css /* <pre> */ body { font-family: system-ui, -apple-system, Roboto, Helvetica, sans-serif; } @media all and (max-width: 320px) { body { font-size: 0.9em; } } .content { line-height: 1.7; } .pre-content h1, .content h1, .content h2 { font-weight: bold; } body { background: var(--body-background-color); color: var(--text-color); } select { color: var(--text-color); } a:not( [ href ] ) { color: inherit; } a.external, .mw-parser-output a.external { background-image: var(--external-icon); } blockquote { border-color: var(--body-mid); font-family: inherit; } .pre-content h1 { text-align: center; } .mw-parser-output h2:first-of-type { clear: both; } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .mw-parser-output > h2, .content .section-heading { border-color: var(--sidebar); } .content .plainlist ol, .content .plainlist ul { padding: 0; } .content p { margin: 0.5em 0; } .content hr { background: none; border-color: var(--sidebar); border-style: solid; border-width: 1px 0 0 0; height: initial; } .content kbd, .content samp { border: none; } .content code, .content pre { background-color: var(--mw-code-background-color); border: 1px solid var(--body-border); } :root { --searchbutton-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cg fill='%23000'%3E%3Cpath d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM3 8a5 5 0 1 0 10 0A5 5 0 1 0 3 8z'/%3E%3C/g%3E%3C/svg%3E"); --external-icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cg fill='%23906039'%3E%3Cpath d='M8.9 8.9H1.1V1.1h2.8V0H1.1C.5 0 0 .5 0 1.1v7.8C0 9.5.5 10 1.1 10h7.8c.6 0 1.1-.5 1.1-1.1V6.1H8.9v2.8z'/%3E%3Cpath d='M10 0H5.6l1.8 1.8L4.2 5l.8.8 3.2-3.2L10 4.4V0z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-center { background-color: transparent; } .header { border-top: none; } .header-container.header-chrome { background: var(--body-background-image) var(--body-background-color) no-repeat; background-color: var(--body-background-color); background-size: 900px; box-shadow: inset 0 -1px 3px rgba(0, 0, 0, 0.1); } .header-container .notification-count { border-radius: 50%; } .header-container .notification-count.notification-unseen { background: none; } .header-container .branding-box { opacity: 1; } .search-box { text-align: right; } .search-box .search { background-color: var(--search-box); border-color: var(--search-box); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .search-box .search::placeholder { color: var(--byline-color); } .client-nojs .search-box .search:focus, .search-overlay .search-box .search:focus { border-color: var(--link-color); box-shadow: inset 0 0 0 1px var(--link-color), 0 1px 1px rgba(0, 0, 0, 0.05); } .mw-ui-background-icon-search { background-image: var(--searchbutton-icon); } .overlay { background: var(--body-main); } .overlay textarea { color: var(--text-color); } .overlay.search-overlay { background: var(--body-main); } .overlay.search-overlay .results, .overlay.search-overlay .search-feedback { background-color: var(--body-light); } .overlay.search-overlay .search-content { border-color: var(--body-mid); } .overlay .license { color: var(--base-text-color); } .overlay .panel { border-color: var(--sidebar); } .overlay .content-header { background-color: var(--body-light); border-color: transparent; } .overlay.overlay-loading { background: var(--ooui-window-background); } .overlay .overlay-content { background: var(--body-main); } .page-summary h2, .page-summary h3 { color: var(--text-color); } .page-list li, .topic-title-list li, .site-link-list li { border-color: var(--body-mid); } .overlay-enabled .overlay:not(.editor-overlay), .overlay-enabled #mw-mf-page-center { overflow-y: scroll; } .overlay-header-container, .overlay-footer-container { background-color: var(--body-background-color); border-color: transparent; } .editor-overlay .wikitext-editor { color: var(--text-color); } .editor-overlay .overlay-header { outline-color: transparent; } .editor-overlay .summary-request { color: var(--text-color); } .editor-overlay .editor-switcher { border: none; } .action-submit .mw-editnotice .action-edit .mw-editnotice, .action-submit .mw-editTools, .action-edit .mw-editTools, .action-submit .preview-limit-report-wrapper, .action-edit .preview-limit-report-wrapper, .action-submit .diff-otitle, .action-edit .diff-otitle, .action-submit .diff-ntitle, .action-edit .diff-ntitle, .action-submit #section_0, .action-edit #section_0, .action-submit #editpage-copywarn, .action-edit #editpage-copywarn, .action-submit #mw-anon-edit-warning, .action-edit #mw-anon-edit-warning { color: var(--byline-color); } .wikitext-editor { background-color: var(--body-main); } .ve-mobile-fakeToolbar { border: none; } .ve-mobile-fakeToolbar-container { background: var(--body-background-color); border: none; } .ve-mobile-fakeToolbar .mw-ui-icon-mf-spinner { border-color: transparent; } .ve-ui-targetToolbar-mobile .oo-ui-toolbar-tools > .ve-ui-toolbar-group-back { border-color: transparent; } .ve-ui-mobileContext { background-color: var(--body-light); border-color: var(--body-light); } .ve-ui-mobileContext .ve-ui-linearContextItem-body-action-wrapper { border-color: var(--body-border); } .ve-ui-linearContextItem-foot:not(:empty) { border-color: var(--body-border); } .ve-ui-mwSaveDialog-options { backgroubd-color: var(--body-light); border-color: var(--body-mid); } .page-actions-menu { border-color: var(--sidebar); } #language-selector { display: none; } .minerva__tab-container .minerva__tab { color: var(--text-color); } .minerva__tab-container .minerva__tab.new, .minerva__tab-container .minerva__tab.new:visited, .minerva__tab-container .minerva__tab.new:hover, .minerva__tab-container .minerva__tab.new:active { color: var(--redlink-color); } .minerva__tab-container .minerva__tab.selected { border-color: var(--body-border); } .heading-holder .tagline { color: var(--base-heading-color); } .minerva-footer { border-color: transparent; } .mw-footer > .post-content { margin-top: 32px; } .mw-footer > .post-content > .minerva-footer-logo { display: none; } .mw-footer .hlist li:after { color: var(--background-text-color); } .last-modified-bar { border-top: 1px solid; border-color: transparent; background: none; color: var(--text-color); } .last-modified-bar a, .last-modified-bar a:active, .last-modified-bar a:visited, .last-modified-bar .last-modified-text-accent { color: var(--background-text-color); } .last-modified-bar.active, .last-modified-bar.active:active, .last-modified-bar.active:visited, .last-modified-bar.active .last-modified-text-accent { color: #fff; } .mw-ui-icon-mf-expand-gray:not(.mw-ui-icon-mf-expand-invert):before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eexpand%3C/title%3E%3Cg fill='%2354595d'%3E%3Cpath d='M17.5 4.75l-7.5 7.5-7.5-7.5L1 6.25l9 9 9-9z'/%3E%3C/g%3E%3C/svg%3E"); } .toggle-list__list { background-color: var(--wikitable-bg); } .toggle-list-item__anchor:visited, .toggle-list-item__anchor:active { color: var(--base-text-color); } .toggle-list-item:hover { background: var(--wikitable-bg-lighter); } .toggle-list-item__label { color: var(--base-text-color); } .mw-ui-icon-wikimedia-search-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esearch%3C/title%3E%3Cg fill='white'%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 111.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 113 8a5 5 0 0110 0z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-menu-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Emenu%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M1 3v2h18V3zm0 8h18V9H1zm0 6h18v-2H1z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-wikimedia-bellOutline-base20:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Ebell%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M11.5 2.19C14.09 2.86 16 5.2 16 8v6l2 2v1H2v-1l2-2V8c0-2.8 1.91-5.14 4.5-5.81V1.5C8.5.67 9.17 0 10 0s1.5.67 1.5 1.5v.69zM10 4C7.79 4 6 5.79 6 8v7h8V8c0-2.21-1.79-4-4-4zM8 18h4c0 1.1-.9 2-2 2s-2-.9-2-2z'/%3E%3C/g%3E%3C/svg%3E%0A"); } .mw-ui-icon-minerva-userAvatarOutline:before { background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Euser avatar%3C/title%3E%3Cg fill='white'%3E%3Cpath d='M10 8c1.7 0 3.06-1.35 3.06-3S11.7 2 10 2 6.94 3.35 6.94 5 8.3 8 10 8zm0 2c-2.8 0-5.06-2.24-5.06-5S7.2 0 10 0s5.06 2.24 5.06 5-2.26 5-5.06 5zm-7 8h14v-1.33c0-1.75-2.31-3.56-7-3.56s-7 1.81-7 3.56V18zm7-6.89c6.66 0 9 3.33 9 5.56V20H1v-3.33c0-2.23 2.34-5.56 9-5.56z'/%3E%3C/g%3E%3C/svg%3E%0A"); } @media all and (min-width: 1000px) { .mw-ui-icon-with-label-desktop, .mw-ui-icon-with-label-desktop:hover, .mw-ui-icon-with-label-desktop:focus, .mw-ui-icon-with-label-desktop:active, .mw-ui-icon-with-label-desktop:visited { color: var(--base-text-color) !important; } } .header-action .mw-ui-icon-mf-close-base20:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclose%3C/title%3E%3Cg fill='%23fff'%3E%3Cpath d='m4.3 2.9 12.8 12.8-1.4 1.4L2.9 4.3z'/%3E%3Cpath d='M17.1 4.3 4.3 17.1l-1.4-1.4L15.7 2.9z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-mf-page-left { background-color: var(--body-background-color); } #mw-mf-page-left .secondary-action { border-left-color: var(--body-mid); } #mw-mf-page-left ul li { background-color: var(--body-main); border-color: var(--body-mid); } #mw-mf-page-left ul li a { color: var(--base-text-color); } #mw-mf-page-left ul li a:hover { box-shadow: inset 4px 0 0 0 var(--link-color); } #mw-mf-page-left ul.hlist li a { color: var(--background-link-color); } #mw-mf-page-left ul.hlist li a span { font-size: 0.8125rem; } .notifications-overlay.navigation-drawer { box-shadow: -1px 0 8px 0 rgba(0, 0, 0, 0.35); } .notifications-overlay .mw-echo-ui-actionMenuPopupWidget-menu { border: none; } .mw-ui-anchor.mw-ui-progressive, .mw-ui-anchor.mw-ui-progressive:active, .mw-ui-anchor.mw-ui-progressive:hover, .mw-ui-anchor.mw-ui-progressive:focus { color: var(--link-color); } .minerva-talk-full-page-button { background-color: var(--body-main); border-color: var(--body-dark); color: var(--link-color); } .minerva-talk-content-explained { border-color: var(--sidebar); color: var(--base-text-color); } .talk-overlay .comment .wikitext-editor { border-color: var(--body-border); } .client-js .skin-minerva--talk-simplified .section-heading { border-color: var(--sidebar); } .mw-notification a, .toast a { color: var(--link-color); } .drawer { background-color: var(--body-light); } .drawer.references-drawer { background-color: var(--body-light); color: var(--text-color); } .drawer.references-drawer a { color: var(--link-color); } .drawer.references-drawer .references-drawer__title { color: var(--text-color); } .drawer.references-drawer .mw-ui-icon::before { filter: brightness(0); } .cta-holder { background: var(--body-light); } .cta-holder .desc { color: var(--byline-color); } .mw-tag-marker { border-color: var(--body-border); } .oo-ui-toolGroup { background: var(--body-background-color); } .load-fail-msg { color: var(--text-color); } .load-fail-msg-link a { color: var(--link-color); } .image-carousel .image-loaded { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E%0A") repeat; } .image-details { background-color: var(--body-light); border-color: transparent; } @media all and (min-width: 720px) { .ns-special .pre-content { background-color: transparent; } .ns-special .mw-body { background: var(--body-main); } .ns-special .mw-body form { background: transparent; } } form.mw-mf-settings .oo-ui-fieldLayout, form.mw-mf-settings .oo-ui-fieldLayout:first-child { border-color: var(--body-mid); } .ns-special .content-header { border-bottom-color: var(--body-dark); } .action-history .mw-history-compareselectedversions { background-color: var(--body-main); } .action-history #pagehistory li:not(.selected) { border-bottom-color: var(--sidebar); } ul.mw-contributions-list li, ul.special li { border-color: var(--sidebar); } .page-list li > a:not(.mw-ui-icon-element), .topic-title-list li > a:not(.mw-ui-icon-element), .site-link-list li > a:not(.mw-ui-icon-element) { color: var(--byline-color); } .page-list.side-list .list-thumb, .topic-title-list.side-list .list-thumb, .site-link-list.side-list .list-thumb { color: var(--text-color); } .page-list .info, .topic-title-list .info, .site-link-list .info, .page-list .component, .topic-title-list .component, .site-link-list .component { color: var(--byline-color); } .mw-mf-user { color: var(--text-color); } .content .mw-index-pager-list-header { background-color: var(--body-mid); color: inherit; font-family: inherit; } .diff-editfont-monospace { font-family: monospace,monospace; } :root { --diff-deletedline-background: #fbc0ba; } .minoredit { background: var(--body-mid); } #mw-mf-diffview .mw-mf-diff-date { color: var(--byline-color); } #mw-mf-diffview .mw-diff-inline-deleted del, #mw-mf-diffview .mw-diff-inline-changed del { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-added ins, #mw-mf-diffview .mw-diff-inline-changed ins { background: var(--diff-addedline-background); color: var(--diff-addedline-color); border-radius: 0.33em; } #mw-mf-diffview .mw-diff-inline-moved { background: var(--diff-context-background); } #mw-mf-diffview #mw-mf-userinfo { background: var(--body-light); border-top-color: var(--body-border); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count { color: var(--text-color); } #mw-mf-diffview #mw-mf-userinfo .mw-mf-edit-count div { color: var(--base-text-color); } .infobox { font-size: 85%; background-color: var(--body-light); border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); table-layout: fixed; } .content .infobox { display: table; } .content .infobox caption { display: table-caption; background: none; } .infobox .infobox-header { color: #fff; font-size: 1.15em; background: var(--body-dark); padding: 0.5em 0; text-align: center; } .infobox .infobox-subheader { background: var(--body-mid); line-height: 2em; text-align: center; color: #fff; } .infobox .infobox-subheader a { color: var(--link-color); } .infobox th:not(.infobox-nested):not(.infobox-subheader):not(.infobox-header) { text-align: right; vertical-align: top; border-right: 2px solid var(--body-mid); padding: 0.2em 0.5em; } .infobox caption.infobox-caption { text-align: center; } .infobox td { padding: 0.25em 0.5em; line-height: 1.6em; } .infobox td.infobox-nested { padding: 0.25em 0; line-height: 1em; } .infobox .infobox-padding { height: 0.5em; padding: 0; border: 0; } .infobox .infobox-image { text-align: center; } .infobox .infobox-nested { text-align: center; } .infobox .infobox-nested + .infobox-nested { border-left: 2px solid var(--body-mid); } .infobox .infobox-cell-hidden { display: none; } .infobox .infobox-full-width-content { max-width: 300px; text-align: center; overflow-x: hidden; padding: 0; } .infobox-buttons { margin-top: 0.5em; text-align: center; } .advanced-data { display: none; } @media screen and (min-width: 720px) { .content table.infobox { float: right; margin-top: 0.5em; margin-left: 1em; width: 300px !important; } .content table.infobox.skill-info { float: none; margin: 0 0 1em 0; } } @media screen and (min-width: 720px) { .multi-infobox { float: right; margin-left: 1em; width: 300px; } } .tile { padding: 1.5em 2em 1em; } .tile h2 { font-weight: 600; border: none; margin-top: 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile-row { background: var(--body-light) !important; border: 1px solid var(--body-border); } .tile-top { padding: 1.3rem 1.5rem 2rem; } .tile-bottom { padding: 1rem 1.5rem 2rem; } .tile-bottom.read-more { padding: 0; } .tile-bottom.read-more a { padding: 1em 1.75em; } :root { --mobile-navbox-wide-bg-color: #dcd3bf; --mobile-navbox-linear-gradient: linear-gradient(to right, rgba(255, 255, 255, 0), var(--body-main) 95%, var(--body-main)); } .navbox { border: 1px solid var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); font-size: 0.85em; } .content .navbox ul { padding-left: 0; } .content .navbox ul li { margin-bottom: 0; } @media screen and (max-width: 719px) { .navbox td, .navbox th, .navbox tr, .navbox tbody, .navbox .navbox-subgroup { display: block; } } @media screen and (min-width: 720px) { .content table.navbox, .content .navbox table { width: 100% !important; } } .navbox .navbox-subgroup { margin: 0; } .navbox .navbar { display: none; } .navbox .plink-template, .navbox img { display: none; } .navbox-title { color: var(--text-color); background-color: var(--body-dark); font-size: 140%; text-align: center; padding: 0.25em 0.85em; } @media screen and (min-width: 720px) { .navbox-title { border-bottom: 1px solid var(--body-border); } } .navbox-group-title { background-color: var(--body-mid); text-align: left; padding: 0.2em 0.85em; } @media screen and (max-width: 719px) { .navbox-group-title { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } } @media screen and (min-width: 720px) { .navbox-group-title { border: 1px solid var(--body-border); border-width: 0 1px 1px 0; width: 12vw; } } .navbox-group-title-hidden { display: none; } .navbox-list { padding: 0; position: relative; } @media screen and (min-width: 720px) { .navbox-list { border-bottom: 1px solid var(--body-border); } } .navbox-list ul { display: flex; } @media screen and (max-width: 719px) { .navbox-list ul { white-space: nowrap; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; } } @media screen and (min-width: 720px) { .navbox-list ul { padding: 0.2em 0.85em 0.5em !important; flex-wrap: wrap; } } @media screen and (min-width: 720px) { .navbox-list[style*="center"] ul { justify-content: center; } } .navbox-list li { display: inline-flex; align-items: center; height: 3.5em; margin: 0 0 0 0.85em; } @media screen and (min-width: 720px) { .navbox-list li { height: 2.1em; } .navbox-list li:first-child { margin-left: 0; } } .navbox-list li + li::before { content: '•'; display: inline-block; white-space: pre-wrap; position: relative; left: -0.425em; color: var(--text-color); pointer-events: none; } .navbox-list li + li > a + a::before { display: none; } .navbox-list li:last-child { margin-right: 2em; } .navbox-list::after { content: ''; display: block; position: absolute; background-image: var(--mobile-navbox-linear-gradient); height: 100%; width: 2.5em; top: 0; right: 0; pointer-events: none; } @media screen and (min-width: 720px) { .navbox-list::after { display: none; } } .navbox-list.navbox-parent { border-bottom: 0; padding: 0; } .navbox-list.navbox-parent::after { display: none; } .navbox-group .navbox-group .navbox-group-title { background-color: var(--body-light); padding: 0 0.85em 0 1.7em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group-title { padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-list ul { padding-left: 1.7em; } .navbox-group .navbox-group .navbox-list li { margin-bottom: 0; } .navbox-group .navbox-group .navbox-list li:first-child { margin-left: 0; } .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 0.85em; } .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0.5em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group:first-child .navbox-group-title { padding-top: 0; } } .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: transparent; padding-left: 2.55em; } @media screen and (min-width: 720px) { .navbox-group .navbox-group .navbox-group .navbox-group-title { background-color: var(--mobile-navbox-wide-bg-color); padding-left: 0.85em; } } .navbox-group .navbox-group .navbox-group .navbox-list ul { padding-left: 2.55em; } .navbox-group .navbox-group .navbox-group.navbox-group-split .navbox-list ul { padding-left: 1.7em; } @keyframes slide-up { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } } .mainpage-header { margin: 2em 1em 0; } @media only screen and (max-width: 1000px) { .mainpage-header .header-intro h1 { text-align: center; font-size: 1.8em; } .mainpage-header .header-intro p { font-size: 1em; } } .mainpage-body .tile-row { width: inherit; } .mainpage-contents.tile-row { display: inherit; } .mainpage-left .tile { padding: 2.5em 1.75em 2em; } .mainpage-left .tile h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-left .tile-halves h2 { padding: 0; margin: 0.65em 0.5em; } .mainpage-recent-updates { padding: 1.5em 1em 2.5em; } .mainpage-recent-updates::before { content: 'Recent updates'; display: block; margin-left: 1.5em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 4; } .mainpage-recent-updates .tile-halves { display: inline-block; width: 100%; white-space: initial; flex: unset; } .mainpage-recent-updates .tile-halves:nth-child(1) { animation: 0.9s 0.2s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(2) { animation: 0.9s 0.4s both slide-up; } .mainpage-recent-updates .tile-halves:nth-child(3) { animation: 0.9s 0.6s both slide-up; } .mainpage-recent-updates .tile-top { height: 9em; overflow: hidden; } .mainpage-recent-updates .tile-bottom { padding-bottom: 0.5rem; } .mainpage-recent-updates .byline { margin: 0; } .mainpage-recent-updates .byline + h2 { margin: 0.025em 0 0; padding: 0; } @media only screen and (max-width: 720px) { .mainpage-recent-updates::before { text-align: center; margin: 0; grid-column: auto; } } .mainpage-contents { background: var(--body-mid); padding: 55px 1em 2em 2.5em; overflow-x: auto; grid-template-columns: repeat(6, 1fr) !important; position: relative; scroll-snap-align: center; } .mainpage-contents::before { content: 'Explore'; margin: 1em; position: absolute; top: 0; color: inherit; font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; grid-column: 1 / 6; } .mainpage-contents .tile-halves { border: none; background: none; box-shadow: none; width: 200px; } .mainpage-contents .tile-top { padding: 0; height: initial; } .mainpage-contents .tile-bottom { border: none; } .mainpage-contents h2 { width: 100%; } @media only screen and (max-width: 1000px) { .mainpage-skills .tile-top ul { margin: 0; } } .mainpage-wikinews::before { content: 'From the wiki'; margin-left: 0.75em; color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; } .mainpage-social { border: none; margin-bottom: 0; } .mainpage-social .tile-top { display: flex; align-items: center; justify-content: center; padding: 1em 2em; min-height: 70px; } .mainpage-social .tile-top .social-icon { float: left; margin: 0 1em 0 -1em; width: 60px; text-align: center; } .mainpage-social .tile-top .social-header { color: #fff; font-weight: bold; font-size: 1.25em; margin: 0; } .mainpage-social .tile-top .social-tagline { color: rgba(255, 255, 255, 0.9); margin: 0; } .mainpage-social .tile-bottom { border: none; padding: 1em 2em; } .mainpage-social .tile-bottom p { color: var(--byline-color); font-weight: bold; text-transform: uppercase; letter-spacing: 0.025em; color: #fff; font-size: 0.9em; text-align: center; margin: 0; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .wikitable { background: none; box-shadow: none; } .wikitable tbody { background: var(--body-light); } .toc { background-color: var(--body-light); border-color: var(--body-border); } #filetoc li { display: inline; padding-right: 2em; } .mw-dismissable-notice-body { margin: 0; } .mw-dismissable-notice-body .mw-dismissable-notice-close-parent { border-radius: 0 !important; font-size: 0.75em; } :root { --thumb-image-background: var(--body-light); --thumb-caption-background: var(--body-mid); } .content .thumbinner { background-color: var(--thumb-bg); } .content .thumbimage { border: 1px solid transparent; border-bottom: none; } .content .thumbcaption { margin: 0; padding: 4px 6px !important; color: inherit; background: var(--thumb-caption-bg); } .content table.messagebox { margin: 0.5em auto; } .content table a > img { max-width: inherit !important; height: inherit !important; } .content .infobox a > img { max-width: 100% !important; height: auto !important; } .content .infobox-bonuses a > img { max-width: inherit !important; height: inherit !important; } e841f71d2a143957f1ef4ae58227dda97c8b8301 Module:Param Parse/doc 828 781 1804 1752 2024-04-06T03:01:19Z Gau Cho 5 wikitext text/x-wiki {{documentation}} These params and functions are used to validate and format information passed into an Infobox. See [[Module:Infobox]] for details and instructions on creating an Infobox. If the information is missing or not valid, the functions here should return nil. Here is a summary of all the params: {| class="wikitable" ! param ! explanation |- | parse.image | <nowiki>[[File:IMAGE.png]]</nowiki>. Use the class '''infobox-image''' in the table |- | parse.episode | Episode name |- | parse.premium | Premium (Yes, No, N/A) |- | parse.release | TODO |} Here are some general use functions that can be used for custom or new params: {| class="wikitable" ! function name ! explanation |- | has_content(arg) | Returns arg if any non-whitespace character is found in the string. |- | number(num) | Removes any commas and parses the string as a number |- | yes_no(text) | Only accepts "Yes", "No" and "N/A" |- | yes_no_smw(text) | Maps "Yes", "No" to true and false respectively |} == Creating New Params == Ideally, params should be defined here so that they can be reused between different Infoboxes. Here is how to create a new param: <syntaxhighlight lang="lua"> parse.paramname = { name = <param>, func = <func>, empty = 'empty', -- optional category_never = 'category', -- optional category_partial = 'category', -- optional category_incomplete = 'category', -- optional category_complete = 'category', -- optional smw_property = 'Property', -- optional smw_func = <func>, -- optional } </syntaxhighlight> {| class="wikitable" ! key ! value |- | name | parameter name as used in the Template |- | func | A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended. If func is a function, will call func(Infobox.raw_param(name)): <syntaxhighlight lang="lua"> {name = <param>, func = <func>, ... }, </syntaxhighlight> If func is a table, it takes the following parameters: <syntaxhighlight lang="lua"> {name = <param>, func = { name = <func>, params = <func_params>}, ... }, </syntaxhighlight> {| class="wikitable" | name | function in [[Module:Param Parse]] |- | params | a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name) |} |- | empty (optional) | text to display in the infobox if func returns nil; defaults to "? (edit)" |- | category_never (optional) | category to add if func returns nil for all versions |- | category_partial (optional) | category to add if func returns nil for some versions, but a value for other versions |- | category_incomplete (optional) | category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) |- | category_complete (optional) | category to add if func returns a value for all versions |- | smw_property (optional) | if this string is defined, the parameter will be saved into SMW |- | smw_func (optional) | function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |} dcd0c0a662a19be46f97c7c5e5d6909dcabf9f32 Module:Infobox/doc 828 504 1805 1749 2024-04-06T03:04:43Z Gau Cho 5 wikitext text/x-wiki {{documentation}} {{ToC|right}} ==Creating a template step-by-step== ===Import Module:Infobox and Module:Param Parse=== <syntaxhighlight lang="lua"> local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') </syntaxhighlight> ===Unpack the frame arguments from the Template=== <syntaxhighlight lang="lua"> local p = {} function p.main(frame) local args = frame:getParent().args ... </syntaxhighlight> ===Setup the Module config settings=== <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', } </syntaxhighlight> ===Map your arguments to parsing functions=== {{Main|Module:Param Parse}} Use the params in [[Module:Param Parse]] to validate and format the data - feel free to create your own new params in [[Module:Param Parse]]. <syntaxhighlight lang="lua"> local params = { parse.name, parse.image, {name = 'examine', func = parse.has_content, smw_property = 'Examine'}, -- Custom param parse.episode, ... } </syntaxhighlight> ===Define an Infobox object=== {{Main|Module:Infobox#new}} <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ===Create your table=== {{Main|Module:Infobox#create}} <syntaxhighlight lang="lua"> infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :pad(20) :add_row{ {tag='td', content='Info', class='infobox-subheader', colspan='20'}, } :pad(20) :add_row{ {tag='th', content='Examine', colspan="6"}, {tag='td', content=Infobox.param('examine'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } ... </syntaxhighlight> ===You're done!=== <syntaxhighlight lang="lua"> return infobox end return p </syntaxhighlight> ==Functions== === Special params === You don't need to do anything about these special parameters, but they may be used as parameters within the Template: {| class="wikitable" ! param ! explanation |- | version1, version2, version3 | Button label and SMW name for each switch version of the infobox |- | default_version | The default version to display when the page is loaded |- | version | If there is only a single version, you can use version to set the SMW name (default SMW name is "DEFAULT") |} === Referring to params === Each parameter can have a different value for each version. In addition, there are 3 different representations of each value. Therefore, a parameter must be accessed via one of the 3 helper functions: {| class="wikitable" ! helper function ! example ! explanation |- | Infobox.raw_param(name) | "1000" | Raw value as passed by the Template |- | Infobox.param(name) | "1,000" | Value formatted for display in the Infobox |- | Infobox.smw_param(name) | 1000 | Value formatted to be saved as an SMW property |} === Infobox.new(config, params, args) === Creates a new infobox. Automatically parses the arguments, creates SMW subobjects and adds categories. <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ==== config ==== There are only 2 parameters for config <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', -- mandatory unique identifier for css max_buttons = 6, -- optional, defaults to 6, max number of switch buttons before using a dropdown list instead } </syntaxhighlight> ==== params ==== A list of parameters to be processed by the Infobox module <syntaxhighlight lang="lua"> local params = { { name = <param>, func = <func>, ... }, ... } </syntaxhighlight> {| class="wikitable" ! key ! value |- | name | parameter name as used in the Template |- | func | A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended. If func is a function, will call func(Infobox.raw_param(name)): <syntaxhighlight lang="lua"> {name = <param>, func = <func>, ... }, </syntaxhighlight> If func is a table, it takes the following parameters: <syntaxhighlight lang="lua"> {name = <param>, func = { name = <func>, params = <func_params>}, ... }, </syntaxhighlight> {| class="wikitable" | name | function in [[Module:Param Parse]] |- | params | a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name) |} |- | empty (optional) | text to display in the infobox if func returns nil; defaults to "? (edit)" |- | category_never (optional) | category to add if func returns nil for all versions |- | category_partial (optional) | category to add if func returns nil for some versions, but a value for other versions |- | category_incomplete (optional) | category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) |- | category_complete (optional) | category to add if func returns a value for all versions |- | smw_property (optional) | if this string is defined, the parameter will be saved into SMW |- | smw_func (optional) | function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |} ==== args ==== Arguments passed via the Template <syntaxhighlight lang="lua"> local args = frame:getParent().args </syntaxhighlight> === infobox:is_param_defined(param) === Used to conditionally display a line in the infobox <syntaxhighlight lang="lua"> infobox:add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } if infobox:is_param_defined(Infobox.param('owner')) > 0 then infobox:add_row{ {tag='td', content='[[Owner]]'}, {tag='td', content=Infobox.param('owner')}, } end </syntaxhighlight> {| class="wikitable" | param | a parameter referenced via Infobox.raw_param(name), Infobox.param(name) or Infobox.smw_param(name) |- | Returns | 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions |} === Infobox:add_row(...) === Adds a row to the infobox table. Parameter should be a table of cells: <syntaxhighlight lang="lua"> infobox:add_row{ {tag='td', content='[[Cell1]]', ...}, {tag='td', content=Infobox.param('param'), ...}, {tag='td', content='[[Cell3]]', ...}, ... addClass = 'row-class' } </syntaxhighlight> Each cell should have a set of key-values, of which only the tag and content are mandatory: {| class="wikitable" ! key ! value |- | tag | 'td' or 'th' |- | content | a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) |- | attr (optional) | a table of attributes to add to the cell mw.html:attr({ arg1 = '1', ... }) |- | css (optional) | a table of css to add to the cell mw.html:css({ arg1 = '1', ... }) |- | class (optional) | a string with a class to add, or a table of classes to add. '''infobox-header''', '''infobox-subheader''' and '''infobox-image''' are commonly used. mw.html:addClass(...) |- | rowspan (optional) | Set the cell rowspan mw.html:attr('rowspan',arg) |- | rowspan (optional) | Set the cell colspan mw.html:attr('colspan',arg) |- | title (optional) | Set the cell title mw.html:attr('title',arg) |} === Infobox:pad(colspan, class) === Adds a blank row of padding spanning the given number of columns. Will always add the class '''infobox-padding''', but can optionally add another class: <syntaxhighlight lang="lua"> infobox:pad("10", class=<class>) </syntaxhighlight> === Infobox:addClass(class) === Adds a class to the entire table <syntaxhighlight lang="lua"> infobox:addClass(class) </syntaxhighlight> c4781a7f54ea1eb1d365ad6f51b29885368ae8c3 1806 1805 2024-04-06T03:05:03Z Gau Cho 5 wikitext text/x-wiki {{documentation}} {{ToC|right}} ==Creating a template step-by-step== ===Import Module:Infobox and Module:Param Parse=== <syntaxhighlight lang="lua"> local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') </syntaxhighlight> ===Unpack the frame arguments from the Template=== <syntaxhighlight lang="lua"> local p = {} function p.main(frame) local args = frame:getParent().args ... </syntaxhighlight> ===Setup the Module config settings=== <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', } </syntaxhighlight> ===Map your arguments to parsing functions=== {{Main|Module:Param Parse}} Use the params in [[Module:Param Parse]] to validate and format the data - feel free to create your own new params in [[Module:Param Parse]]. <syntaxhighlight lang="lua"> local params = { parse.name, parse.image, {name = 'examine', func = parse.has_content, smw_property = 'Examine'}, -- Custom param parse.episode, ... } </syntaxhighlight> ===Define an Infobox object=== {{Main|Module:Infobox#new}} <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ===Create your table=== {{Main|Module:Infobox#create}} <syntaxhighlight lang="lua"> infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :pad("20") :add_row{ {tag='td', content='Info', class='infobox-subheader', colspan='20'}, } :pad("20") :add_row{ {tag='th', content='Examine', colspan="6"}, {tag='td', content=Infobox.param('examine'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } ... </syntaxhighlight> ===You're done!=== <syntaxhighlight lang="lua"> return infobox end return p </syntaxhighlight> ==Functions== === Special params === You don't need to do anything about these special parameters, but they may be used as parameters within the Template: {| class="wikitable" ! param ! explanation |- | version1, version2, version3 | Button label and SMW name for each switch version of the infobox |- | default_version | The default version to display when the page is loaded |- | version | If there is only a single version, you can use version to set the SMW name (default SMW name is "DEFAULT") |} === Referring to params === Each parameter can have a different value for each version. In addition, there are 3 different representations of each value. Therefore, a parameter must be accessed via one of the 3 helper functions: {| class="wikitable" ! helper function ! example ! explanation |- | Infobox.raw_param(name) | "1000" | Raw value as passed by the Template |- | Infobox.param(name) | "1,000" | Value formatted for display in the Infobox |- | Infobox.smw_param(name) | 1000 | Value formatted to be saved as an SMW property |} === Infobox.new(config, params, args) === Creates a new infobox. Automatically parses the arguments, creates SMW subobjects and adds categories. <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ==== config ==== There are only 2 parameters for config <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', -- mandatory unique identifier for css max_buttons = 6, -- optional, defaults to 6, max number of switch buttons before using a dropdown list instead } </syntaxhighlight> ==== params ==== A list of parameters to be processed by the Infobox module <syntaxhighlight lang="lua"> local params = { { name = <param>, func = <func>, ... }, ... } </syntaxhighlight> {| class="wikitable" ! key ! value |- | name | parameter name as used in the Template |- | func | A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended. If func is a function, will call func(Infobox.raw_param(name)): <syntaxhighlight lang="lua"> {name = <param>, func = <func>, ... }, </syntaxhighlight> If func is a table, it takes the following parameters: <syntaxhighlight lang="lua"> {name = <param>, func = { name = <func>, params = <func_params>}, ... }, </syntaxhighlight> {| class="wikitable" | name | function in [[Module:Param Parse]] |- | params | a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name) |} |- | empty (optional) | text to display in the infobox if func returns nil; defaults to "? (edit)" |- | category_never (optional) | category to add if func returns nil for all versions |- | category_partial (optional) | category to add if func returns nil for some versions, but a value for other versions |- | category_incomplete (optional) | category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) |- | category_complete (optional) | category to add if func returns a value for all versions |- | smw_property (optional) | if this string is defined, the parameter will be saved into SMW |- | smw_func (optional) | function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |} ==== args ==== Arguments passed via the Template <syntaxhighlight lang="lua"> local args = frame:getParent().args </syntaxhighlight> === infobox:is_param_defined(param) === Used to conditionally display a line in the infobox <syntaxhighlight lang="lua"> infobox:add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } if infobox:is_param_defined(Infobox.param('owner')) > 0 then infobox:add_row{ {tag='td', content='[[Owner]]'}, {tag='td', content=Infobox.param('owner')}, } end </syntaxhighlight> {| class="wikitable" | param | a parameter referenced via Infobox.raw_param(name), Infobox.param(name) or Infobox.smw_param(name) |- | Returns | 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions |} === Infobox:add_row(...) === Adds a row to the infobox table. Parameter should be a table of cells: <syntaxhighlight lang="lua"> infobox:add_row{ {tag='td', content='[[Cell1]]', ...}, {tag='td', content=Infobox.param('param'), ...}, {tag='td', content='[[Cell3]]', ...}, ... addClass = 'row-class' } </syntaxhighlight> Each cell should have a set of key-values, of which only the tag and content are mandatory: {| class="wikitable" ! key ! value |- | tag | 'td' or 'th' |- | content | a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) |- | attr (optional) | a table of attributes to add to the cell mw.html:attr({ arg1 = '1', ... }) |- | css (optional) | a table of css to add to the cell mw.html:css({ arg1 = '1', ... }) |- | class (optional) | a string with a class to add, or a table of classes to add. '''infobox-header''', '''infobox-subheader''' and '''infobox-image''' are commonly used. mw.html:addClass(...) |- | rowspan (optional) | Set the cell rowspan mw.html:attr('rowspan',arg) |- | rowspan (optional) | Set the cell colspan mw.html:attr('colspan',arg) |- | title (optional) | Set the cell title mw.html:attr('title',arg) |} === Infobox:pad(colspan, class) === Adds a blank row of padding spanning the given number of columns. Will always add the class '''infobox-padding''', but can optionally add another class: <syntaxhighlight lang="lua"> infobox:pad("10", class=<class>) </syntaxhighlight> === Infobox:addClass(class) === Adds a class to the entire table <syntaxhighlight lang="lua"> infobox:addClass(class) </syntaxhighlight> 65eb69b187c05e7c35512614f83b0c820d9621fb File:Zeltay Tramagan.png 6 833 1807 2024-04-06T17:34:18Z ToofleBerry 6 {{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see h... wikitext text/x-wiki == Summary == {{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:04 / 1:41.|name=|group=}} 373b54fa2d38e01fd7308833e843a808eea94b70 Zeltay Tramagan 0 834 1808 2024-04-06T17:34:38Z ToofleBerry 6 Created page with "{{Infobox NPC |name = Zeltay Tramagan |image = Zeltay Tramagan.png |release = |episode = |profession = }} '''Zeltay Tramagan''' is an NPC located on the [[Town Square]] in [[Hopeport (location)|Hopeport]]{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.s..." wikitext text/x-wiki {{Infobox NPC |name = Zeltay Tramagan |image = Zeltay Tramagan.png |release = |episode = |profession = }} '''Zeltay Tramagan''' is an NPC located on the [[Town Square]] in [[Hopeport (location)|Hopeport]]{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:04 / 1:41.|name=|group=}}. ==References== <references/> 5b09f43c10ebc6a2601745672872f01cd935ae5f Fishmonger 0 835 1809 2024-04-06T17:36:10Z ToofleBerry 6 Created page with "{{Infobox NPC |name = Fishmonger |image = Fishmonger.png |release = |episode = |profession = }} '''Fishmonger''' is an NPC located on the [[Eel Street]] in [[Hopeport (location)|Hopeport]]{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/..." wikitext text/x-wiki {{Infobox NPC |name = Fishmonger |image = Fishmonger.png |release = |episode = |profession = }} '''Fishmonger''' is an NPC located on the [[Eel Street]] in [[Hopeport (location)|Hopeport]]{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:16 / 1:41.|name=|group=}}. ==References== <references/> ac0f05e392b29c88057886c24e581f84aba8ca55 File:Fishmonger.png 6 836 1810 2024-04-06T17:37:01Z ToofleBerry 6 {{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see h... wikitext text/x-wiki == Summary == {{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:16 / 1:41.|name=|group=}}. ed62826d029fde616a5f2c67c498fd7b588cff50 MediaWiki:Common.less/ooui.less 8 23 1811 1675 2024-04-06T22:19:54Z Merds 25 less less /* ====================== OOUI ====================== */ // MediaWiki documentation: <https://www.mediawiki.org/wiki/OOUI> // Interactive documentation: <https://doc.wikimedia.org/oojs-ui/master/demos/> // Styles repo directory: <https://github.com/wikimedia/oojs-ui/tree/master/src/themes/wikimediaui> // Variables @ooui-normal: #d1b9ad; /* body-mid */ @ooui-normal-border: #d1b9ad; /* body-border */ @ooui-progressive: #936243; @ooui-box-shadow-base--focus: inset 0 0 0 1px var(--ooui-accent); @ooui-box-shadow-input-binary--active: inset 0 0 0 1px var(--ooui-progressive--hover); @ooui-color-base--inverted: @white; :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255,255,255,0.5); // use the same styles for :hover AND :active // :focus will use the accent var --ooui-normal: darken( @ooui-normal, 2% ); // default styles basically add +2% luminance (from #f8f9fa to #ffffff) // there's also another hover color: #eaecf0 (like .oo-ui-tool-link:hover) // ...but we only have one var for button hover, so we should make sure // the color does not blend with its bg --ooui-normal--hover: lighten(@ooui-normal, 4%); --ooui-normal-border: @ooui-normal-border; // use separate color for progressive buttons - BUT use link-color for // anywhere else that uses progressive colors; this isnt the greatest idea // and unifying them is better in the longer term --ooui-progressive: @ooui-progressive; --ooui-progressive--hover: lighten(@ooui-progressive, 10%); // border and bg are the same in non-normal buttons --ooui-accent: var(--link-color); // probably not worth adjusting <textarea>/<input>-esque bg in light mode --ooui-input: #fff; --ooui-input-border: @ooui-normal-border; --ooui-input-border--hover: darken(@ooui-normal-border, 19%); --ooui-disabled: lighten( @ooui-normal, 15%); --ooui-disabled-border: lighten( @ooui-normal-border, 10%); --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, @SEARCH_BOX, @SEARCH_BOX 20px, @BODY_MAIN 20px, @BODY_MAIN 30px); } /* ---------------------- widgets ---------------------- */ // need this one to be able to adjust the font color inside popups and etc .oo-ui-widget { color: var(--ooui-text); } // combine checkbox and radio as theyre really similar .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); // same as bg for both } .oo-ui-dropdownWidget { &-handle { border-color: var(--ooui-normal-border); } &.oo-ui-widget-enabled &-handle { background-color: var(--ooui-normal); color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:active { color: var(--ooui-text); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-widget-enabled&-open &-handle { background-color: var(--ooui-normal--hover); } &.oo-ui-widget-disabled &-handle { color: var(--ooui-disabled-text); text-shadow: none; // wont look good on dark mode border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } } // input dropdowns .oo-ui-dropdownInputWidget { // ooui styled dropdown thats actually an html <select> select { border-color: var(--ooui-normal-border); } option { background-color: var(--ooui-interface); } &.oo-ui-widget-enabled { background-color: var(--ooui-normal); &:hover { background-color: var(--ooui-normal--hover); } select { color: var(--ooui-text); &:hover, &:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } // there's a `oo-ui-indicator-down` class here that adds the pointer // icon, it's not a separate element so invert filter for dark mode // is infeasible } } } // in Special:Preferences .oo-ui-labelWidget { &.oo-ui-inline-help { color: var(--byline-color); } } // dropdown selection menu .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); &-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } // options eg. on page deletion/move .oo-ui-menuOptionWidget { // hover &.oo-ui-optionWidget { // hover and selected option &-highlighted, // combined &-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } // hover on chosen option &-selected&-highlighted, &-pressed&-highlighted { color: var(--ooui-accent); } } // hover again &.oo-ui-widget-enabled { &.oo-ui-optionWidget { color: var(--ooui-text); } } // highlight & hover eg page deletion reason // &.oo-ui-optionWidget-selected&.oo-ui-optionWidget-highlighted, // &.oo-ui-optionWidget-pressed&.oo-ui-optionWidget-highlighted { // // } } .oo-ui-messageDialog { // eg exiting out editor without saving the edit modal &-title { color: inherit; } } .oo-ui-messageWidget { // all .messagebox like boxes &.oo-ui-messageWidget-block { // matching .errorbox &.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } // eg warning when there's templatedata when editing a template // matching .warningbox &.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } // matching .successbox &.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } &.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } } // ideally we would use our own success and error colors, but this will do for now &.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), &.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } } .oo-ui-optionWidget { &.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } // eg in ve "Options" window .oo-ui-outlineOptionWidget { &.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } } .oo-ui-popupWidget { // Popups eg when interacting with templates in ve &-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } // popups anchors/arrow .ooui-anchor(@direction) { .oo-ui-popupWidget-anchor:after { border-@{direction}-color: var(--ooui-interface); } .oo-ui-popupWidget-anchor:before { border-@{direction}-color: var(--ooui-interface-border); } } &-anchored- { &top { .ooui-anchor(bottom); } &bottom { .ooui-anchor(top); } &start { .ooui-anchor(right); } &end { .ooui-anchor(left); } } } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget { &-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } &.oo-ui-widget-enabled { &.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); &:hover { border-color: var(--ooui-input-border--hover); } } } } .oo-ui-tabOptionWidget { color: var(--ooui-text); .oo-ui-tabSelectWidget-framed & { &.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); & .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } } &.oo-ui-widget-enabled { &:hover, &:active { background-color: var(--body-light); color: var(--ooui-text); } &.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } } } .oo-ui-tabSelectWidget-frameless & { &.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); &:hover, &:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } } } } .oo-ui-tabSelectWidget { // eg used on [[Special:Preferences]] &-framed { background: none; // actually uses something like --ooui-interface border-bottom: 1px solid var(--ooui-interface-border); // our customisation } // used in TabberNeue (even though we dont have it) &-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } &-mobile { // both use the following mixin in core; but we already have a similar // var in minerva.css for these stuff already used in navboxes /* .oo-ui-horizontal-gradient( @startColor: #eee, @endColor: #fff, @startPos: 0, @endPos: 100% ) { background-color: average( @startColor, @endColor ); background-image: linear-gradient( to right, @startColor @startPos, @endColor @endPos ); } */ &.oo-ui-tabSelectWidget-framed:after { // background instead of -image so the prev properties used as // fallback for ancient browsers are reset background: var(--mobile-navbox-linear-gradient); } &.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } } } // eg recent changes selected filter tag .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); &.oo-ui-widget-enabled { color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } & .oo-ui-buttonElement-button { &:hover { background-color: var(--ooui-normal--hover); } } } } .oo-ui-tagMultiselectWidget { // rc/watchlist filter box &.oo-ui-widget-enabled { background-color: var(--ooui-interface); // and again - this time it's button bg &.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } } } } .oo-ui-textInputWidget { // eg RecentChanges filter changes input .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &.oo-ui-widget-enabled { .oo-ui-inputWidget-input { &::placeholder { color: var(--subtle-color); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } &[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } } &:hover { .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); &:focus { border-color: var(--ooui-accent); } } } @media screen { @media ( min-width: 0 ) { textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } } } &.oo-ui-widget-disabled { .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; // wont look good on dark mode border-color: var(--ooui-disabled-border); } } } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); &.oo-ui-widget-enabled { .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } &:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } } &:active, &:active:hover, &:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-input-binary--active; .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } } &.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } &:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:active, &:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:focus { border-color: var(--ooui-progressive); &::before { border-color: @ooui-color-base--inverted; } } } } &.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); // same as bg } } /* ---------------------- elements/buttons ---------------------- */ // mixin for frameless progressive/destructive button .mw-frameless-button-colored( @child, @color-text ) { > @{child}, // no distinct color for hover > @{child}:hover { color: @color-text; } > @{child}:active, &.oo-ui-buttonElement-pressed > @{child} { // dont differentiate between :active and normal color: @color-text; border-color: @color-text; } } .mw-framed-button-colored( @child, @color-text, @hover, @border-color--hover, /* @active,*/ @focus ) { > @{child} { color: @color-text; } > @{child}:hover { background-color: @hover; border-color: @border-color--hover; } > @{child}:focus { border-color: @focus; box-shadow: inset 0 0 0 1px @focus; } /* ugh uses lighten() > @{child}:active, &.oo-ui-buttonElement-pressed > @{child}, &.oo-ui-buttonElement-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { background-color: lighten( @active, 60% ); color: @active; border-color: @active; } */ } // mixin for framed progressive/destructive button .mw-framed-primary-button-colored( @child, @color, @hover, @active, @focus ) { > @{child} { background-color: @color; border-color: @color; } > @{child}:hover { background-color: @hover; border-color: @hover; } > @{child}:focus { border-color: @focus; box-shadow: inset 0 0 0 1px @focus, inset 0 0 0 2px @ooui-color-base--inverted; } > @{child}:active, &.oo-ui-buttonElement-pressed > @{child}, &.oo-ui-buttonElement-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { color: @ooui-color-base--inverted; background-color: @active; border-color: @active; } } .oo-ui-buttonElement { &-frameless { &.oo-ui-widget-enabled { > .oo-ui-buttonElement-button { color: var(--ooui-text); &:hover { color: var(--ooui-text); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } &.oo-ui-flaggedElement { &-progressive { .mw-frameless-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-text) ); // try out using text color as the button label like hard-coded darkmode } // not needed // &-destructive { // .mw-frameless-button-colored( ~'.oo-ui-buttonElement-button' ); // } } } &.oo-ui-widget-disabled { > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } } } &-framed { &.oo-ui-widget-disabled { > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } } &.oo-ui-widget-enabled { > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } &.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; // needed, else it would be overriden by non-active styles border-color: var(--ooui-progressive--hover); &:focus { border-color: var(--ooui-progressive--hover); box-shadow: @ooui-box-shadow-base--focus; } } // same as :hover above > .oo-ui-buttonElement-button:active, &.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &.oo-ui-flaggedElement { &-progressive { .mw-framed-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-text), var(--ooui-normal--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } &-destructive { // .mw-framed-button-colored( ~'.oo-ui-buttonElement-button', @color-destructive-non-primary, @background-color-framed--hover, @border-color-framed-destructive--hover, @color-destructive--active, @color-destructive--focus ); // since we arent changing destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); &:hover { background-color: var(--ooui-normal--hover); } } } } &.oo-ui-flaggedElement-primary { &.oo-ui-flaggedElement { &-progressive { .mw-framed-primary-button-colored( ~'.oo-ui-buttonElement-button', var(--ooui-progressive), var(--ooui-progressive--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } // dont need // &-destructive { // .mw-framed-primary-button-colored( ~'.oo-ui-buttonElement-button' ); // } } } } } } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } } /* ---------------------- windows ---------------------- */ .oo-ui-messageDialog { &-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } &-message { color: var(--ooui-text); } &-actions { // eg ace editor "Go to line number..." window &-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } &-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } } } .oo-ui-processDialog { &-content { .oo-ui-window-head, .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } } // need to reoverride so buttons wont have weird borders .oo-ui-actionWidget { > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; &:hover, &:active { border-top-color: transparent; border-bottom-color: transparent; } } &:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) { > .oo-ui-buttonElement-button { &:hover, &:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } &:focus { border-color: var(--ooui-accent); } } } } &-actions { &-safe, &-other { .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } } &-safe { .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) { > .oo-ui-buttonElement-button { &:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } } } } } } .oo-ui-windowManager { &-modal { // bg behind windows > .oo-ui-dialog { background-color: var(--ooui-window-background); } // all popup windows > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } } // window outlines &-modal&-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } } // we need this one to be able to adjust the font color inside windows .oo-ui-window { color: var(--ooui-text); } /* ---------------------- tools ---------------------- */ .mw-tool-colored( @child /*, @color-text*/ , @hover, @active , @focus , @active-text: @active ) { // > @{child} { // color: @color-text; // } > @{child}:hover { background-color: @hover; } > @{child}:focus { outline: 1px solid @focus; box-shadow: inset 0 0 0 1px @focus; } > @{child}:active, &.oo-ui-tool-active > @{child}, &.oo-ui-popupToolGroup-active > @{child} { background-color: var(--ooui-normal--hover); color: @active-text; box-shadow: none; } } .mw-primary-tool-colored( @child, @color, @hover, @active, @focus ) { > @{child} { // color: @ooui-color-base--inverted; background-color: @color; } > @{child}:hover { background-color: @hover; } > @{child}:focus { // outline: @border-width-base @border-style-base @focus; box-shadow: inset 0 0 0 1px @focus, inset 0 0 0 2px @ooui-color-base--inverted; } > @{child}:active, &.oo-ui-tool-active > @{child} { // color: @ooui-color-base--inverted; background-color: @active; // box-shadow: none; } // &.oo-ui-widget-disabled > @{child}, // &.oo-ui-widget-disabled > @{child}:active { // background-color: @background-color-filled--disabled; // color: @color-filled--disabled; // } } @ooui-toolbar: var(--ooui-interface); @ooui-toolbar-border: var(--body-mid); // mainly used by ve and source editor // toolbar .oo-ui-toolbar { &-bar { background-color: @ooui-toolbar; color: var(--ooui-text); // toolbar borders .oo-ui-toolbar-position-top > & { border-bottom-color: @ooui-toolbar-border; } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: @ooui-toolbar-border; } } } .oo-ui-tool { &.oo-ui-widget-enabled { .mw-tool-colored( ~'.oo-ui-tool-link', var(--ooui-normal--hover), var(--ooui-accent), var(--ooui-accent) ); // &.oo-ui-flaggedElement { // &-progressive { // .mw-tool-colored( ~'.oo-ui-tool-link', @background-color-tool--hover, @color-primary--active, @color-primary--focus ); // } // &-destructive { // .mw-tool-colored( ~'.oo-ui-tool-link', @color-destructive-non-primary, @background-color-tool--hover, @color-destructive--active, @color-destructive--focus ); // } // } &.oo-ui-flaggedElement-primary { &.oo-ui-flaggedElement { &-progressive { .mw-primary-tool-colored( ~'.oo-ui-tool-link', var(--ooui-progressive), var(--ooui-progressive--hover), var(--ooui-progressive--hover), var(--ooui-accent) ); } // &-destructive { // .mw-primary-tool-colored( ~'.oo-ui-tool-link', @color-destructive, @color-destructive--hover, @color-destructive--active, @color-destructive--focus ); // } } } } } .oo-ui-listToolGroup { // eg "Page options" dropdown &-tools .oo-ui-tool { &.oo-ui-widget-enabled { background-color: var(--ooui-normal); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } } // does not match source ordering &-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive) } } } // left-hand tool group .oo-ui-menuToolGroup { border-left-color: @ooui-toolbar-border; border-right-color: @ooui-toolbar-border; } .oo-ui-popupToolGroup { // dropdown menu &-tools { background-color: @ooui-toolbar; border-color: @ooui-toolbar-border; } &.oo-ui-widget-enabled { // eg hover "Insert" > .oo-ui-popupToolGroup-handle { &:hover { background-color: var(--ooui-normal--hover); } &:focus { outline: 1px solid var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } } // ve "Page options" again .oo-ui-toolbar-actions & { > .oo-ui-popupToolGroup-handle { &:hover { // same as button hover border-right-color: var(--ooui-normal--hover); } } } } // might not match source ordering &-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } &-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } &.oo-ui-popupToolGroup-active { > .oo-ui-popupToolGroup-handle { // aka active background-color: var(--ooui-normal); color: var(--ooui-accent); &:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } } } } /* ---------------------- layouts ---------------------- */ .oo-ui-bookletLayout { &-outlinePanel { > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } } // eg "Show options" in ve template editor > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } } .oo-ui-fieldLayout { // disabled text color in layouts &-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } } // ooui <fieldset> .oo-ui-panelLayout { &-framed { border-color: var(--sidebar); // along with <h1/2> border } } /* ---------------------- others ---------------------- */ .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } // --- widgets in core mediawiki --- // DateInputWidget .mw-widget-dateInputWidget { &-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &-calendar { background-color: var(--ooui-interface); } &.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } } // CalendarWidget .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); &:focus { border-color: var(--ooui-accent); box-shadow: @ooui-box-shadow-base--focus; } // focused month &-day, // week day name &-day-heading { color: var(--ooui-text); } // other months &-day-additional { color: var(--ooui-text); opacity: 0.67; } &-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } &-item { &:hover { background-color: var(--ooui-progressive); } &-selected { background-color: var(--ooui-progressive--hover); } } } // e.g. on [[Special:AbuseFilter/examine]] .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); &:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0,0,0,0.25); } &-grid { .mw-widgets-datetime-calendarWidget-cell { &.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button { .oo-ui-labelElement-label { color: var(--subtle-color); } } &.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } } } } // input box .mw-widgets-datetime-dateTimeInputWidget { &-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } &.oo-ui-widget-enabled { &.mw-widgets-datetime-dateTimeInputWidget-handle { &:hover { border-color: var(--ooui-input-border--hover); } } &:hover { input, textarea { border-color: var(--ooui-input-border--hover); } } .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } } } 77e3538fcb22c6bd13b5a7e1dd3ed922b420ad4a MediaWiki:Common.less 8 5 1812 1664 2024-04-06T22:20:28Z Merds 25 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; /* @mine-shaft */ --byline-color: @silver; --subtle-color: #afa19a; /* old: @boulder; */ --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/documentation.less'; // [[Template:Documentation]] @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> @import '@{common}/messagebox.less'; // Messagebox templates // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages @import '@{common}/bstheme.less'; // [[BS:THEME]] // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } de35150e7485a21762b0d0291e0420d37510ddac MediaWiki:Common.css 8 30 1813 1708 2024-04-06T22:21:13Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #afa19a; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #ece3de; --ooui-disabled-border: #e3d5ce; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .navbox .navbox-title { color: #fff; } .navbox .navbox-list:not(last-child) { border-bottom: none; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-subheader); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox .infobox-buttons .button.button-selected { background: var(--table-header); } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-subheader a { color: var(--link-color); } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .infobox select { max-width: 300px; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: var(--body-dark); --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom h2 a { color: #fff !important; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 249f688a5476fa36898dc20761fc5e65d56141a1 Module:Infobox Item 828 827 1814 1770 2024-04-07T01:32:40Z Gau Cho 5 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Item', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, {name = 'profession', func = parse.has_content, category_incomplete = 'Items needing profession', smw_name = 'Profession'}, -- TODO - move to Module:Param Parse once more details are available {name = 'value', func = parse.number, category_incomplete = 'Items needing value', smw_name = 'Value'}, -- TODO - move to Module:Param Parse once more details are available } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Profession]]', colspan="6"}, {tag='td', content=Infobox.param('profession'), colspan="14"}, } :add_row{ {tag='th', content='Value', colspan="6"}, {tag='td', content=Infobox.param('value'), colspan="14"}, } :pad(20) return infobox end return p a370a930a9a50b54772b91a3e78b1a5b17b91cad 1815 1814 2024-04-07T01:33:19Z Gau Cho 5 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Item', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, {name = 'profession', func = parse.has_content, category_incomplete = 'Items needing profession', smw_property = 'Profession'}, -- TODO - move to Module:Param Parse once more details are available {name = 'value', func = parse.number, category_incomplete = 'Items needing value', smw_property = 'Value'}, -- TODO - move to Module:Param Parse once more details are available } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Profession]]', colspan="6"}, {tag='td', content=Infobox.param('profession'), colspan="14"}, } :add_row{ {tag='th', content='Value', colspan="6"}, {tag='td', content=Infobox.param('value'), colspan="14"}, } :pad(20) return infobox end return p f3674160d456b202f7a6475b2c9c83e5267cea7a Property:Value 302 837 1816 2024-04-07T01:33:51Z Gau Cho 5 Created page with "{{property|type=number}}" wikitext text/x-wiki {{property|type=number}} f277711ed94bcdccdc7eae8e653a01162a692614 Town Square 0 838 1817 2024-04-07T12:40:09Z InvalidCards 4 Created page with "{{Infobox Location |name = Town Square |image = Wasteland.jpg |release = |premium = |episode = Hopeport }} The '''Town Square''' is a location in [[Hopeport (location)|Hopeport]]." wikitext text/x-wiki {{Infobox Location |name = Town Square |image = Wasteland.jpg |release = |premium = |episode = Hopeport }} The '''Town Square''' is a location in [[Hopeport (location)|Hopeport]]. cc3e9cfbc8d6823641df6752ecbd39616838c2db 1822 1817 2024-04-07T13:17:36Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Town Square |image = |release = |premium = |episode = Hopeport }} The '''Town Square''' is a location in [[Hopeport (location)|Hopeport]]. 7f989a40f5ed5a1e935dd4bf3934210b0c87b5c9 Template:Clean image/doc 10 716 1818 1304 2024-04-07T12:45:03Z InvalidCards 4 fix links with bsw stuff instead of rsw wikitext text/x-wiki {{Documentation}} Cleans and formats an input image. This removes the following things if present: * <code><nowiki>[[File:</nowiki></code> * <code><nowiki>]]</nowiki></code> * <code><nowiki>|</nowiki></code> and <code><nowiki>{{!}}</nowiki></code>, and everything following the first of these until the end Then it re-packages the image into a new file container, with specified height, width, and link. The <code>frameless</code> modifier is used, which prevents the image being resized larger than its actual dimensions. ==Usage== <pre>{{clean image |file = wikitext to be cleaned; this should usually be a template parameter (e.g. |file={{{image}}}); required |width = width of image; no default; exclude 'px' |height = height of image; no default; exclude 'px'; can be combined with width |link = link to apply to image; no default (will link to file page); setting to no will suppress normal link |align = alignment of image; left, center, right; no default }}</pre> ===Examples=== To be practical the results will be as if <code><nowiki>|image=[[File:Basic bacon.png|100px|link=abyssal whip]]</nowiki></code> as the input. {| class="wikitable" ! Example ! Code ! Result ! Notes | |- | Just clean | <pre>{{clean image|file={{{image}}}}}</pre> | {{clean image|file=[[File:Basic bacon.png|100px|link=pirate]]}} | Should result in <pre>[[File:{FILENAME}]]</pre> Note that it links to the file page as a normal image does. |- | Clean + width | <pre>{{clean image|file={{{image}}}|width=50}}</pre> | {{clean image|file=[[File:Basic bacon.png|100px|link=pirate]]|width=50}} | Should result in <pre>[[File:{FILENAME}|{WIDTH}px]]</pre> |- | Clean + height | <pre>{{clean image|file={{{image}}}|height=20}}</pre> | {{clean image|file=[[File:Basic bacon.png|100px|link=pirate]]|height=20}} | Should result in <pre>[[File:{FILENAME}|x{HEIGHT}px]]</pre> Remember that height parameters on images are maximum height limits and won't make an image bigger (without a width set). |- | Clean + width + height | <pre>{{clean image|file={{{image}}}|width=44|height=20}} {{clean image|file={{{image}}}|width=11|height=50}} {{clean image|file={{{image}}}|width=66|height=66}}</pre> |<poem>{{clean image|file=[[File:Basic bacon.png|100px|link=pirate]]|width=44|height=20}} {{clean image|file=[[File:Basic bacon.png|100px|link=pirate]]|width=11|height=50}} {{clean image|file=[[File:Basic bacon.png|100px|link=pirate]]|width=66|height=60}}</poem> | Should result in <pre>[[File:{FILENAME}|{WIDTH}x{HEIGHT}px]]</pre> Remember that height is still a maximum limit here. The size will be {WIDTH}px wide unless this makes the height more than {HEIGHT}px, in which case it is sized down to {HEIGHT}px tall. Aspect ratio is always kept. Basic bacon.png is 22px wide and 30px tall. In the first use it is trying to resize to twice as wide but the maximum height of 20px forces it to resize down to 15x20px. The second use it successfully resizes down to half as wide, 11x15px. The third use is trying to go thrice as wide but the height limit only allows it to go twice as tall, so is 44x60px. |- | Clean + link | <pre>{{clean image|file={{{image}}}|link=Sturlet}}</pre> | {{clean image|file=[[File:Basic bacon.png|100px|link=pirate]]|link=Sturlet}} | Should result in <pre>[[File:{FILENAME}|link={LINK}]]</pre> |- | Clean + link suppress | <pre>{{clean image|file={{{image}}}|link=no}}</pre> | {{clean image|file=[[File:Basic bacon.png|100px|link=pirate]]|link=no}} | Should result in <pre>[[File:{FILENAME}|link=]]</pre> |- | Clean + alignment | <pre>{{clean image|file={{{image}}}|align=right}}</pre> | {{clean image|file=[[File:Basic bacon.png]]|align=right}} | Should result in <pre>[[File:{FILENAME}|align=right]]</pre> |} <includeonly>[[Category:Formatting templates]]</includeonly> e311865837d51115b5a2901014f7d7e196c0cb23 Template:Redirect3/doc 10 578 1819 965 2024-04-07T12:45:54Z InvalidCards 4 proper link in seealso wikitext text/x-wiki {{Documentation}} This template displays text showing what redirects to a certain page. ==Usage== This template can be used by entering the following onto a relevant page. <pre>{{Redirect3|Location|Description including links}}</pre> ==location== This parameter is replaced by the location. ==description== This parameter is replaced by a description of the redirect. ==See also== * [[Template:Redirect]] * [[Template:Otheruses]] * [[Template:See also]] * [[Brighter Shores:Redirecting]] * [[Wikipedia:Template:Redirect3|Redirect3]], the template at Wikipedia <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> 80c93b5c56af153d6814474a5925694ddca56a24 Template:MessageBox/doc 10 151 1820 276 2024-04-07T12:47:17Z InvalidCards 4 fix link even though it's still a redlink but at least it's the right namespace wikitext text/x-wiki {{Documentation}}<includeonly>[[Category:Message box templates|*]]</includeonly> The '''MessageBox''' template is a wrapper for all types of [[:Category:Message box templates|message boxes]]. This includes [[Template:License|licenses]], [[:Category:Maintenance templates|Maintenance templates]], and general notices used to alert the reader about something. ==Parameters== To use this template, copy the following code and fill in the necessary information <pre> {{MessageBox |class = (optional) classes |img = Image |imgwidth = (optional) width of the table cell around the image |Tagline text |Extra information }} </pre> The first parameter is mandatory, but all further parameters are optional. A plain message box will look like this: {{t|MessageBox|Example of a messagebox with no customisation}} {{MessageBox|Example of a messagebox with no customisation}} ===First parameter=== The first parameter will give the tagline for the message box. This is the most eye-catching info in the box and should be short and sweet. ===Second parameter=== The second parameter specifies more information about the message, and can be used to specify some more details about what information is being conveyed. ===img=== Specify an image here. Recommended is to include <code>center</code>, <code>link=</code> and a file size, to stylize the image properly. Just specifying the file name will not work with this parameter; the image needs to be given as a complete file link. ===imgwidth=== The width of the cell the image is (must specify <code>px</code> at the end), and defaults to <code>50px</code>. This effectively sets the margins around the image, if the image is smaller than 50 px. It is typically best to omit this parameter, but in cases where the image is larger setting a custom width may be helpful. ===class=== A class to give the messagebox. Typically this is used for messageboxes that use custom styling which is defined in a class. ===style=== Inline CSS to give to the messagebox. ==Example== An example of a template that has almost all parameters specified is the [[Template:Stub|Stub]] template <pre> {{MessageBox |class = stub |img = [[File:Stub.png|Stub|center|50px|link=]] |This page is a [[Brighter Shores:Stubs|stub]]. |A stub is an article which does not cover all information available about the topic. You can help by [{{fullurl:{{FULLPAGENAME}}|action=edit}} expanding] it. }} </pre> {{MessageBox |class = stub |img = [[File:Stub.png|Stub|center|50px|link=]] |This page is a [[Brighter Shores:Stubs|stub]]. |A stub is an article which does not cover all information available about the topic. You can help by [{{fullurl:{{FULLPAGENAME}}|action=edit}} expanding] it. }} 4d8cfa88d66fafcbe1ced0d8be0b9638c523d3cd Template:CC-BY-NC-SA/doc 10 538 1821 913 2024-04-07T12:51:26Z InvalidCards 4 fix link for when interwiki is up and running wikitext text/x-wiki {{Documentation}} This template is used to mark files that licensed under a {{wp|Creative Commons}} [https://creativecommons.org/licenses/by-nc-sa/3.0/ Attribution-NonCommercial-ShareAlike 3.0] license. As the wiki's content is [[meta:Meta:Copyrights|licensed]] under CC BY-NC-SA 3.0, files that exclusively contain the wiki's content should be marked with this template. ==Usage== :Type {{t|CC-BY-NC-SA}} on the file information page. <includeonly>[[Category:Copyright templates|{{PAGENAME}}]]</includeonly> 91bcc5670bb54c883e5fd405e24605ec74ee8424 Template:Infobox Location 10 771 1823 1467 2024-04-08T10:51:50Z Merds 25 changed to styled infobox version (test) wikitext text/x-wiki {| class="infobox infobox-location" style="float:right" ! colspan="20" class="infobox-header" | {{#if:{{{name|}}}|{{{name}}}|{{PAGENAME}}}} |- | colspan="20" class="infobox-image" | {{#if:{{{image|}}}|{{clean image|file={{{image}}}}}|[[Special:Upload|Please upload an image!]]{{Mainonly|[[Category:Needs image]]}}}} |- ! colspan="6" | Release | colspan="14" | {{#if:{{{release|}}}|{{{release}}}|Q3 [[2024]]}} |- ! colspan="6" | Premium | colspan="14" | {{#switch:{{lc:{{{premium|}}}}}|yes=Yes{{Mainonly|[[Category:Premium locations]]}}|no=No|#default={{Edit button|text=<b>?</b> (edit)}}{{Mainonly|[[Category:Needs premium status]]}}}} |- ! colspan="6" | Episode | colspan="14" | {{#switch:{{{episode|}}}|Hopeport=[[File:Hopeport episode icon.png|18px]] [[Hopeport]][[Category:Hopeport]]|Hopeforest=[[File:Hopeforest episode icon.png|18px]] [[Hopeforest]][[Category:Hopeforest]]|Mine of Mantuban=[[File:Mine of Mantuban episode icon.png|18px]] [[Mine of Mantuban]][[Category:Mine of Mantuban]]|Crenopolis=[[File:Crenopolis episode icon.png|18px]] [[Crenopolis]][[Category:Crenopolis]]|#default=[[File:Unknown episode icon.png|18px]] Unknown}} |}{{Mainonly|[[Category:Locations]]}}<noinclude>{{clear}}{{/doc}}</noinclude> c9996a1864ef33475b56359deb18ff6da67cd795 1848 1823 2024-04-09T12:58:02Z Gau Cho 5 Replaced content with "{{#invoke:Infobox Item|main}}{{Mainonly|[[Category:Locations]]}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{#invoke:Infobox Item|main}}{{Mainonly|[[Category:Locations]]}}<noinclude>{{/doc}}</noinclude> 2383f2f0b47a3b6c7abf1a41966b86234b88b2fc 1849 1848 2024-04-09T12:58:18Z Gau Cho 5 wikitext text/x-wiki {{#invoke:Infobox Location|main}}{{Mainonly|[[Category:Locations]]}}<noinclude>{{/doc}}</noinclude> 829e4615e085b4b4d465e061709620ff0b917eb2 Log 0 750 1824 1794 2024-04-08T15:37:42Z Sam 60 Premium value wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Log |image = [[File:Log.png]] |premium = No |release = Q3 [[2024]] |episode = Hopeforest |profession = Woodcutter |value = 48 }} '''Log'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} 2e4f63b89f02e933b52b640313cf50a4875763c9 Branch 0 464 1825 1769 2024-04-08T15:47:04Z Sam 60 premium+release value wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Branch |image = [[File:Branch.png]] |premium = No |release = Q3 [[2024]] |episode = Hopeforest |profession = [[Woodcutter]] |value = 48 }} '''Branches''' can be collected by the [[Woodcutter]] [[profession]] in [[Hopeforest]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} 7331699ca901590da177e5ca807c176ccaf707a4 Hammermage potion 0 632 1826 1773 2024-04-08T15:54:41Z Sam 60 premium+release value wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Hammermage potion |image = [[File:Hammermage potion.png]] |premium = No |release = Q3 [[2024]] |episode = Hopeport |profession = Alchemist |value = 330 }} The '''Hammermage potion''' is a type of [[potion]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] 00d2bd426031d90a4e518b4ec78ae068a5c8b99e Log basket 0 751 1827 1793 2024-04-08T15:55:25Z Sam 60 Premium value wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Log basket |image = [[File:Log basket.png]] |premium = No |release = Q3 [[2024]] |episode = Hopeforest |profession = Woodcutter |value = 22 }} '''Log basket'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} 32bfb88b5d93b6a9891526d4446033db5b6e88f9 Merchant potion 0 636 1828 1775 2024-04-08T15:56:15Z Sam 60 premium+release value wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Merchant potion |image = [[File:Merchant potion.png]] |premium = No |release = Q3 [[2024]] |episode = Hopeport |profession = [[Alchemist]] |value = 18 }} The '''Merchant potion''' is a type of [[potion]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] b7e0b8d7341549eacb47598c9e0ae268d74cd4b1 Miner potion 0 465 1829 1771 2024-04-08T15:56:36Z Sam 60 premium+release value wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Miner potion |image = [[File:Miner potion.png]] |premium = No |release = Q3 [[2024]] |episode = Hopeport |profession = [[Alchemist]] |value = 16 }} '''Miner potions''' are a type of [[potion]].<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] 63b995fe897f676ca9e60f637cf9844ef0a363b6 Shield 0 755 1830 1790 2024-04-08T15:57:01Z Sam 60 Premium value wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Shield |image = [[File:Shield.png]] |premium = No |release = Q3 [[2024]] |episode = Hopeport |profession = Combat |value = 50 }} '''Shield'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref>. ==References== {{Reflist}} [[Category:Equipment]] 618eff6309f5e8f7bb1a06f66133b136f401bdfc Hopeport (location) 0 798 1831 1610 2024-04-08T18:42:54Z Rekopek 61 added rooms from trailer wikitext text/x-wiki {{Infobox Location |name = Hopeport |image = |release = |premium = No |episode = Hopeport }} '''Hopeport''' is a coastal town in [[Adothria]]. It serves as the main introductory town for new [[player]]s.{{CiteGeneral|url=https://www.godisageek.com/2024/03/brighter-shores-is-a-new-mmorpg-coming-to-pc-and-mac/ |title=Brighter Shores is a new MMORPG coming to PC and Mac |author=Adam Cook |quote=Finding themselves in the peaceful coastal town of Hopeport, players initially take on the role of a town guard. Their role as protector, however, soon expands far beyond the town walls as they learn of a greater threat across the fantastical world of Adothria. |date=13 March 2024 |accessdate=24 March 2024 |archiveurl=https://archive.is/GVkr3 |archivedate=24 March 2024}} == Rooms == Hopeport has the following rooms: * Town Square * Eel Street Bridge * Eel Street * Central Waterfront * West Waterfront ==Features== * A [[Hopeport Harbor|harbor]] ==References== {{Reflist}} 52bb40fc0cfaf05b136b92e9df3dcbecb0bb6fd8 1845 1831 2024-04-09T09:32:47Z Sam 60 room links wikitext text/x-wiki {{Infobox Location |name = Hopeport |image = |release = |premium = No |episode = Hopeport }} '''Hopeport''' is a coastal town in [[Adothria]]. It serves as the main introductory town for new [[player]]s.{{CiteGeneral|url=https://www.godisageek.com/2024/03/brighter-shores-is-a-new-mmorpg-coming-to-pc-and-mac/ |title=Brighter Shores is a new MMORPG coming to PC and Mac |author=Adam Cook |quote=Finding themselves in the peaceful coastal town of Hopeport, players initially take on the role of a town guard. Their role as protector, however, soon expands far beyond the town walls as they learn of a greater threat across the fantastical world of Adothria. |date=13 March 2024 |accessdate=24 March 2024 |archiveurl=https://archive.is/GVkr3 |archivedate=24 March 2024}} == Rooms == Hopeport has the following rooms: * [[Town Square]] * [[Eel Street Bridge]] * [[Eel Street]] * [[Central Waterfront]] * [[West Waterfront]] ==Features== * A [[Hopeport Harbor|harbor]] ==References== {{Reflist}} 784b88210f27dec423a49e5b2f48277d5de01fc9 Grumpy Pirate 0 450 1832 727 2024-04-08T19:05:57Z Sam 60 filled in further info wikitext text/x-wiki {{Infobox NPC |name = Grumpy Pirate |image = |release = Q3 2024 |episode = |premium = |profession = }} '''Grumpy Pirate''' is a [[monster]] located in the [[Pirate Hideout]]. [[Category:Monsters]] ef3f5f4605afd31fcc05aae5d260e63043bccb7d Fish 0 313 1833 502 2024-04-08T19:10:22Z Sam 60 added a list wikitext text/x-wiki '''Fish''' can be caught as a part of the [[Fisher]] [[profession]]. List of fish: * [[Gurnard]] d95039dee78f3dab0c5f53f211a160f164f6e1f2 Monsters 0 377 1834 1418 2024-04-08T19:11:15Z Sam 60 moved gurnard to fish wikitext text/x-wiki '''Monsters''' are creatures in [[Brighter Shores]] that can be attacked. They are fought in [[combat]] for their loot, including valuable currency items. There are many monsters in Brighter Shores, including: * [[Firetoad]] * [[Grumpy Pirate]] * [[Mawchest]] * [[Punkupine]] * [[Slime Fiend]] * [[Sneaky Thief]] * [[Wailing Shade]] {{Mechanics}} [[Category:Monsters]] 128c934a8b9cd86870f3269c73f0a8c2d60b2620 File:Mawchest.PNG 6 839 1835 2024-04-08T19:25:12Z Sam 60 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Mawchest 0 448 1836 771 2024-04-08T19:27:13Z Sam 60 added infobox + picture wikitext text/x-wiki {{Infobox NPC |name = Mawchest |image = [[File:Mawchest.PNG]] |release = Q3 2024 |episode = |premium = |profession = }} '''Mawchest''' is a [[monster]]. [[Category:Monsters]] bfd836d774f98ac72b59c7e396711fd6f458f34c File:Branch.png 6 466 1837 764 2024-04-08T19:28:53Z Sam 60 Sam uploaded a new version of [[File:Branch.png]] wikitext text/x-wiki == Summary == A branch c1eb7f12d01e99f3a260f388e798469ad89d929b Module:Infobox 828 102 1838 1748 2024-04-08T22:14:33Z Gau Cho 5 Fix category version bug Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> -- Edit button for unknown params local editbutton = require('Module:Edit button') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do table.insert(self.version_names, self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') end -- Handle the no version case - check for a custom version_name if self.versions == 0 then table.insert(self.version_names, self.args_raw['version'] or 'DEFAULT') self.versions = 1 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-index', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do local button = buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) -- In case of dropdown list, hide the buttons as the switch gadget will convert them to a dropdown list - we can't directly create the dropdown list here as the select/option tags are rejected by wikitext if self.versions > self.max_buttons then button:addClass('hidden') end end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = 'Infobox.'..self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {Infobox = self.infobox_name} -- Also store the current Infobox name for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = mw.smw.subobject(subobject, subobject_name) if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions < 2 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox b2daacfc58e9322cab07a5757fee469827613fb5 Concept:Items from Homeport 308 840 1839 2024-04-08T22:22:39Z Gau Cho 5 Test concept wikitext text/x-wiki {{#concept: [[Infobox:Item]] [[Episode:Hopeport]] |Items in Hopeport }} f3b2b8a7956c771db3ae9c72313826d808951db5 1840 1839 2024-04-08T22:23:21Z Gau Cho 5 Test wikitext text/x-wiki {{#concept: [[Infobox::Item]] [[Episode::Hopeport]] |Items in Hopeport }} 8b0850cf952cbbaa37b0f34e47d8fe4a5eb369ab Punkupine 0 446 1841 769 2024-04-09T09:17:08Z Sam 60 infobox wikitext text/x-wiki {{Infobox NPC |name = Punkupine |image = |release = Q3 2024 |episode = |premium = |profession = }} '''Punkupine''' is a [[monster]]. [[Category:Monsters]] ee94c5dd9cd29dcb7a0af65277696728e257c38a Slime Fiend 0 447 1842 724 2024-04-09T09:17:40Z Sam 60 infobox wikitext text/x-wiki {{Infobox NPC |name = Slime Fiend |image = |release = Q3 2024 |episode = |premium = |profession = }} '''Slime Fiend''' is a [[monster]]. [[Category:Monsters]] 7c3e17ed6d938fce516be77989e8eb275eaabdc9 Sneaky Thief 0 100 1843 1021 2024-04-09T09:18:57Z Sam 60 infobox wikitext text/x-wiki {{Infobox NPC |name = Sneaky Thief |image = [[File:Sneaky Thief.png]] |release = Q3 2024 |episode = |premium = |profession = }} '''Sneaky Thieves''' are a type of monster. They have 1,100 health. [[Category:Monsters]] 3cafea40bf0db54333b10b2eca7c0e830451abdb Wailing Shade 0 85 1844 1029 2024-04-09T09:20:00Z Sam 60 infobox wikitext text/x-wiki {{Infobox NPC |name = Wailing Shade |image = [[File:Wailing Shade.png]] |release = Q3 2024 |episode = |premium = |profession = }} '''Wailing Shades''' are monsters. They have 682 health. [[Category:Monsters]] 511077c1d3d33961022278d844a32f9273ff59f3 Module:Infobox Location 828 841 1846 2024-04-09T12:56:46Z Gau Cho 5 Created page with "local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Location', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'},..." Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Location', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) return infobox end return p 65186b9fe16ef815b0047c90c4dbbcdae6284755 Module:Infobox Location/doc 828 842 1847 2024-04-09T12:57:07Z Gau Cho 5 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Leech Pools 0 78 1850 1480 2024-04-09T13:00:27Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Leech Pools |image = [[File:Leech Pools.jpg]] |release = |premium = |episode = }} The '''Leech Pools''' is a watery cave system. 6374e1ad5ce022344f75b13a78e91114950854d1 1853 1850 2024-04-09T13:30:43Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Leech Pools |image = [[File:Leech Pools.jpg|280px]] |release = |premium = |episode = }} The '''Leech Pools''' is a watery cave system. 3f5392dfb0c642c9aab93c79a0f9e13baca56ee9 Module:Param Parse 828 673 1851 1766 2024-04-09T13:16:49Z Gau Cho 5 Fixing image functions Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Generic functions -- ----------------------- -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] ~= nil then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end -- Premade Params -- -------------------- -- Standardized name function parse.name = { name = 'name', func = parse.has_content, smw_property = 'Name', } -- Standardized image function function parse.image_func(img) if img and string.match(img, '%[%[File:.*%]%]') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.*") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image', } -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode_func(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end parse.episode = { name = 'episode', func = parse.episode_func, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Needs episode', } -- Premium parse.premium = { name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no, category_incomplete = 'Needs premium status', } -- Release (TODO) parse.release = { name = 'release', func = parse.has_content, } return parse -- </nowiki> f8639f8edcf16b5c99ede53aabc50773bc27e764 1852 1851 2024-04-09T13:30:26Z Gau Cho 5 Update image matching function Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Generic functions -- ----------------------- -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] ~= nil then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end -- Premade Params -- -------------------- -- Standardized name function parse.name = { name = 'name', func = parse.has_content, smw_property = 'Name', } -- Standardized image function function parse.image_func(img) if img and string.match(img, '%[%[File:.*%]%]') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.*%.%w%w%w") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image', } -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode_func(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end parse.episode = { name = 'episode', func = parse.episode_func, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Needs episode', } -- Premium parse.premium = { name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no, category_incomplete = 'Needs premium status', } -- Release (TODO) parse.release = { name = 'release', func = parse.has_content, } return parse -- </nowiki> c5038c70ae115373ab9c6c64e489970847cf91a2 Barricades 0 79 1854 1469 2024-04-09T13:31:51Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Barricades |image = [[File:Barricades.jpg|280px]] |release = |premium = |episode = }} The '''Barricades''' is a location that leads into the [[Mine Entrance]], which is guarded by a [[barricade guard]]. The player must talk to [[Captain Jal Degreene]] as part of a quest in order to be allowed through. 898b689da2fdada2c7d146b1a068446a3c3e0100 Tanners Road 0 80 1855 1485 2024-04-09T13:32:09Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Tanners Road |image = [[File:Tanners Road.jpg|280px]] |release = |premium = No |episode = Hopeport }} '''Tanners Road''' is a road in [[Hopeport]]. It features various market stalls. b007c2be10ba09bcb54caf73456b9049d7fd8007 Bone Vats 0 81 1856 1471 2024-04-09T13:32:22Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Bone Vats |image = [[File:Bone Vats.jpg|280px]] |release = |premium = |episode = }} The '''Bone Vats''' is a location where players can craft items using bones. 3a69c505a880fe811655da8bb877bf2932dfb532 Goblin Marketplace 0 82 1857 1474 2024-04-09T13:32:59Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Goblin Marketplace |image = [[File:Goblin Marketplace.jpg|280px]] |release = |premium = |episode = }} The '''Goblin Marketplace''' is a location where [[goblin]]s sell their wares. a254651d0c7a2f65f4a0fe829cd128417598b7c0 Cliffside Path 0 83 1858 1472 2024-04-09T13:33:04Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Cliffside Path |image = [[File:Cliffside Path.jpg|280px]] |release = |premium = |episode = }} The '''Cliffside Path''' is a location. It is a wooded path, inhabited by giant spiders, with large cobwebs strewn about. de2586b0189bcca06c349c41d549d974ec1ecd10 Southeast Sewer 0 88 1859 1484 2024-04-09T13:33:10Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Southeast Sewer |image = [[File:Southeast Sewer.jpg|280px]] |release = |premium = |episode = }} The '''Southeast Sewer''' is a location. bb3bb2098ed9a3280f53bb821e34e2cfda4eecea Truck Cave 0 94 1860 1486 2024-04-09T13:33:14Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Truck Cave |image = [[File:Truck Cave.jpg|280px]] |release = |premium = |episode = }} The '''Truck Cave''' is a cave filled with minecart rails. 7b40a8ce70bc3bbbecee2f1aa8b6f7b623de31fa Hopeport Obelisk 0 97 1861 1479 2024-04-09T13:33:22Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Hopeport Obelisk |image = [[File:Hopeport Obelisk.jpg|280px]] |release = |premium = No |episode = Hopeport }} The '''Hopeport Obelisk''' is a location near [[Hopeport]]. It is likely that it will be used as a fast travel location. ==Trivia== * Hopeport Obelisk is featured in the ''[[Brighter Shores]]'' logo. bbc4a7842e64d070903fb49a8686c5e73bc52b80 Quiet Grove 0 101 1862 1483 2024-04-09T13:33:27Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Quiet Grove |image = [[File:Quiet Grove.jpg|280px]] |release = |premium = |episode = }} The '''Quiet Grove''' is a location. It has an entrance to a mine. 658a5bd652c2d6f8685fb2ebccbc7812f7648617 Eel Street Bridge 0 809 1863 1739 2024-04-09T13:33:42Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Eel Street Bridge |image = [[File:Eel Street Bridge.jpg|280px]] |release = |premium = |episode = }} The '''Eel Street Bridge''' is a location in [[Hopeport (location)|Hopeport]]. The bridge connects [[Eel Street]] and the Hopeport [[Town Square]]. 5fd8086578c96a6a296af157237904e19f930394 Eel Street 0 810 1864 1738 2024-04-09T13:33:50Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Eel Street |image = [[File:Eel Street.jpg|280px]] |release = |premium = |episode = }} '''Eel Street''' is a location in [[Hopeport (location)|Hopeport]]. A [[fishmonger]] is located on Eel Street. 7a812ce9cf8307a9634a19ad3d442c5e6d236cb7 Central Waterfront 0 811 1865 1737 2024-04-09T13:33:54Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Central Waterfront |image = [[File:Central Waterfront.jpg|280px]] |release = |premium = |episode = }} The '''Central Waterfront''' is a location in [[Hopeport (location)|Hopeport]]. d83bcadc0f4a26ca2da3dfa9c400b214fecc630f West Waterfront 0 812 1866 1736 2024-04-09T13:33:59Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = West Waterfront |image = [[File:West Waterfront.jpg|280px]] |release = |premium = |episode = }} The '''West Waterfront''' is a location in [[Hopeport (location)|Hopeport]]. fb5b80d406f720367feb6f7fdedac976cce9a1be Sea Road 0 813 1867 1735 2024-04-09T13:34:03Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Sea Road |image = [[File:Sea Road.jpg|280px]] |release = |premium = |episode = }} The '''Sea Road''' is a location in [[Hopeport (location)|Hopeport]]. ef39640ad59819351d4402b2464243189fd046c6 East Beach 0 814 1868 1734 2024-04-09T13:34:10Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = East Beach |image = [[File:East Beach.jpg|280px]] |release = |premium = |episode = }} The '''East Beach''' is a location in [[Hopeport (location)|Hopeport]]. 17b1292ba34b07c93ad49cdd9eda338bb3a4eeb8 Seashells Seashore 0 815 1869 1733 2024-04-09T13:34:15Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Seashells Seashore |image = [[File:Seashells Seashore.jpg|280px]] |release = |premium = |episode = }} '''Seashells Seashore''' is a location in [[Hopeport (location)|Hopeport]]. [[Shell]]s and a [[Rock Pool]] can be found on the beach. 64fd569053ca620385ed823a53dca08cb6d290d6 Jellyfish Landing 0 816 1870 1732 2024-04-09T13:34:22Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Jellyfish Landing |image = [[File:Jellyfish Landing.jpg|280px]] |release = |premium = |episode = }} '''Jellyfish Landing''' is a location in [[Hopeport (location)|Hopeport]]. [[Jellyfish]] can be found in the waters of the beach. 41436f042261a7724c29578d53a02528a7e4598d Fallen Monument 0 817 1871 1731 2024-04-09T13:34:28Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Fallen Monument |image = [[File:Fallen Monument.jpg|280px]] |release = |premium = |episode = }} The '''Fallen Monument''' is a location in [[Hopeport (location)|Hopeport]]. [[Carnivorous Plant]]s can be found throughout the area. 5f52687ca70dd48e63bb47359043d76a20b40806 Crater 0 820 1872 1730 2024-04-09T13:34:33Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Crater |image = [[File:Crater.jpg|280px]] |release = |premium = |episode = }} The '''Crater''' is a location in [[Hopeport (location)|Hopeport]]. [[Giant Ant]]s and [[Hogberries]] can be found in the Crater. Four [[Monument Piece]]s are placed throughout the area. 708e9ebb312a23225b359ff53b76b9cd416c5954 Wasteland 0 822 1873 1729 2024-04-09T13:34:40Z Gau Cho 5 wikitext text/x-wiki {{Infobox Location |name = Wasteland |image = [[File:Wasteland.jpg|280px]] |release = |premium = |episode = }} The '''Wasteland''' is a location in [[Hopeport (location)|Hopeport]]. 897e6a877e67f3da64dbfec285b3a5bb6301f149 Module:SMW Utils/doc 828 843 1874 2024-04-09T13:41:16Z Gau Cho 5 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Module:Infobox 828 102 1875 1838 2024-04-09T13:47:18Z Gau Cho 5 Change subobject naming scheme Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local editbutton = require('Module:Edit button') local smwutils = requires('Module:SMW Utils') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() function insert_version_name(version_name) table.insert(self.version_names, version_name) if smwutils.valid_subobject_name(version_name) == false then table.insert(self.errors, 'Illegal version value: must not be "0" nor contain a "." in the first five characters') end end -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do insert_version_name(self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') end -- Handle the no version case - check for a custom version_name if self.versions == 0 then insert_version_name(self.args_raw['version'] or 'DEFAULT') self.versions = 1 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-index', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do local button = buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) -- In case of dropdown list, hide the buttons as the switch gadget will convert them to a dropdown list - we can't directly create the dropdown list here as the select/option tags are rejected by wikitext if self.versions > self.max_buttons then button:addClass('hidden') end end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {Infobox = self.infobox_name} -- Also store the current Infobox name for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = true if self.versions == 1 then result = mw.smw.set(subobject) else result = mw.smw.subobject(subobject, subobject_name) end if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions < 2 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox bc9d64fe72f884a13bb678c64b3835d9c05f6dd3 1876 1875 2024-04-09T13:48:09Z Gau Cho 5 Typo Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local editbutton = require('Module:Edit button') local smwutils = require('Module:SMW Utils') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() function insert_version_name(version_name) table.insert(self.version_names, version_name) if smwutils.valid_subobject_name(version_name) == false then table.insert(self.errors, 'Illegal version value: must not be "0" nor contain a "." in the first five characters') end end -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do insert_version_name(self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') end -- Handle the no version case - check for a custom version_name if self.versions == 0 then insert_version_name(self.args_raw['version'] or 'DEFAULT') self.versions = 1 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-index', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do local button = buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) -- In case of dropdown list, hide the buttons as the switch gadget will convert them to a dropdown list - we can't directly create the dropdown list here as the select/option tags are rejected by wikitext if self.versions > self.max_buttons then button:addClass('hidden') end end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {Infobox = self.infobox_name} -- Also store the current Infobox name for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = true if self.versions == 1 then result = mw.smw.set(subobject) else result = mw.smw.subobject(subobject, subobject_name) end if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions < 2 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox 7362498d6c6475e25232fd0ba07d1f4d91ad53a8 Module:Infobox Scenery 828 844 1877 2024-04-09T14:00:04Z Gau Cho 5 Created page with "local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Scenery', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'},..." Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Scenery', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) return infobox end return p d4287a351c1d8bd479c24137731b006df4be9486 Module:Infobox Scenery/doc 828 845 1878 2024-04-09T14:00:15Z Gau Cho 5 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Template:Infobox Scenery 10 690 1879 1463 2024-04-09T14:00:44Z Gau Cho 5 Replaced content with "{{#invoke:Infobox Scenery|main}}{{Mainonly|[[Category:Scenery]]}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{#invoke:Infobox Scenery|main}}{{Mainonly|[[Category:Scenery]]}}<noinclude>{{/doc}}</noinclude> c0b484c0dc4db046f052a2c50941673232315759 Old trunk 0 697 1880 1311 2024-04-09T14:01:20Z Gau Cho 5 wikitext text/x-wiki {{Infobox Scenery |name = Old trunk |image = [[File:Old trunk.png]] |release = |episode = }} A '''old trunk''' is a piece of interactable scenery that can be found in [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=24 March 2024|archiveurl=https://archive.is/whgCd|archivedate=24 March 2024|quote=}} ==References== {{Reflist}} b9a91a5abd0b689771df4bc86d74c80b8ec50b52 Trunk 0 685 1881 1310 2024-04-09T14:01:22Z Gau Cho 5 wikitext text/x-wiki {{Infobox Scenery |name = Trunk |image = [[File:Trunk.png]] |release = |episode = }} A '''trunk''' is a piece of interactable scenery that can be found in [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=24 March 2024|archiveurl=https://archive.is/whgCd|archivedate=24 March 2024|quote=}} ==References== {{Reflist}} 8ce20875a76db2fc6acfa94da66072e06d725353 Module:Param Parse 828 673 1882 1852 2024-04-09T14:04:27Z Gau Cho 5 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Generic functions -- ----------------------- -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] ~= nil then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end -- Premade Params -- -------------------- -- Standardized name function parse.name = { name = 'name', func = parse.has_content, smw_property = 'Name', } -- Standardized image function function parse.image_func(img) if img and string.match(img, '%[%[File:.*%]%]') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.*%.%w%w%w") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image', } -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode_func(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end parse.episode = { name = 'episode', func = parse.episode_func, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Needs episode', } -- Premium parse.premium = { name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no, category_incomplete = 'Needs premium status', } -- Release (TODO) parse.release = { name = 'release', func = parse.has_content, } -- Profession (TODO) parse.profession = { name = 'profession', func = parse.has_content, category_incomplete = 'Needs profession', smw_property = 'Profession' -- TODO - Need to create property page } return parse -- </nowiki> 63b944b421a9023c8dd12c0fff533aaf7d76219d Module:Param Parse/doc 828 781 1883 1804 2024-04-09T14:04:40Z Gau Cho 5 wikitext text/x-wiki {{documentation}} These params and functions are used to validate and format information passed into an Infobox. See [[Module:Infobox]] for details and instructions on creating an Infobox. If the information is missing or not valid, the functions here should return nil. Here is a summary of all the params: {| class="wikitable" ! param ! explanation |- | parse.image | <nowiki>[[File:IMAGE.png]]</nowiki>. Use the class '''infobox-image''' in the table |- | parse.episode | Episode name |- | parse.premium | Premium (Yes, No, N/A) |- | parse.release | TODO |- | parse.profession | TODO |} Here are some general use functions that can be used for custom or new params: {| class="wikitable" ! function name ! explanation |- | has_content(arg) | Returns arg if any non-whitespace character is found in the string. |- | number(num) | Removes any commas and parses the string as a number |- | yes_no(text) | Only accepts "Yes", "No" and "N/A" |- | yes_no_smw(text) | Maps "Yes", "No" to true and false respectively |} == Creating New Params == Ideally, params should be defined here so that they can be reused between different Infoboxes. Here is how to create a new param: <syntaxhighlight lang="lua"> parse.paramname = { name = <param>, func = <func>, empty = 'empty', -- optional category_never = 'category', -- optional category_partial = 'category', -- optional category_incomplete = 'category', -- optional category_complete = 'category', -- optional smw_property = 'Property', -- optional smw_func = <func>, -- optional } </syntaxhighlight> {| class="wikitable" ! key ! value |- | name | parameter name as used in the Template |- | func | A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended. If func is a function, will call func(Infobox.raw_param(name)): <syntaxhighlight lang="lua"> {name = <param>, func = <func>, ... }, </syntaxhighlight> If func is a table, it takes the following parameters: <syntaxhighlight lang="lua"> {name = <param>, func = { name = <func>, params = <func_params>}, ... }, </syntaxhighlight> {| class="wikitable" | name | function in [[Module:Param Parse]] |- | params | a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name) |} |- | empty (optional) | text to display in the infobox if func returns nil; defaults to "? (edit)" |- | category_never (optional) | category to add if func returns nil for all versions |- | category_partial (optional) | category to add if func returns nil for some versions, but a value for other versions |- | category_incomplete (optional) | category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) |- | category_complete (optional) | category to add if func returns a value for all versions |- | smw_property (optional) | if this string is defined, the parameter will be saved into SMW |- | smw_func (optional) | function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |} 5c3d0ff26f8a91e43321d25250d95baf6e3430a4 Module:Infobox Item 828 827 1884 1815 2024-04-09T14:05:01Z Gau Cho 5 parse.profession Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Item', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, parse.profession, {name = 'value', func = parse.number, category_incomplete = 'Items needing value', smw_property = 'Value'}, -- TODO - move to Module:Param Parse once more details are available } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Profession]]', colspan="6"}, {tag='td', content=Infobox.param('profession'), colspan="14"}, } :add_row{ {tag='th', content='Value', colspan="6"}, {tag='td', content=Infobox.param('value'), colspan="14"}, } :pad(20) return infobox end return p 6c8fc0d60adf19a2cf5d36f063895af50cec806c Module:Infobox NPC 828 846 1885 2024-04-09T14:07:21Z Gau Cho 5 Created page with "local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Item', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, parse.profession, {name = 'shop', func = parse.has_content, smw_property = 'Shop'}, -- TODO - move to Module:Param Parse once more details are available, and crea..." Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Item', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, parse.profession, {name = 'shop', func = parse.has_content, smw_property = 'Shop'}, -- TODO - move to Module:Param Parse once more details are available, and create property page } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Profession]]', colspan="6"}, {tag='td', content=Infobox.param('profession'), colspan="14"}, } if infobox:is_param_defined(Infobox.param('shop')) > 0 then infobox:add_row{ {tag='td', content='[[Shop]]'}, {tag='td', content=Infobox.param('shop')}, } end infobox:pad(20) return infobox end return p ab18dfc19ec3dde8ab9bbcf4449a44e6667fc6b9 1886 1885 2024-04-09T14:07:32Z Gau Cho 5 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'NPC', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, parse.profession, {name = 'shop', func = parse.has_content, smw_property = 'Shop'}, -- TODO - move to Module:Param Parse once more details are available, and create property page } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Profession]]', colspan="6"}, {tag='td', content=Infobox.param('profession'), colspan="14"}, } if infobox:is_param_defined(Infobox.param('shop')) > 0 then infobox:add_row{ {tag='td', content='[[Shop]]'}, {tag='td', content=Infobox.param('shop')}, } end infobox:pad(20) return infobox end return p adc5748931c22a3d2534a7f493e3384fbe98fdb0 1888 1886 2024-04-09T14:10:24Z Gau Cho 5 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'NPC', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, parse.profession, {name = 'shop', func = parse.has_content, smw_property = 'Shop'}, -- TODO - move to Module:Param Parse once more details are available, and create property page } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Profession]]', colspan="6"}, {tag='td', content=Infobox.param('profession'), colspan="14"}, } if infobox:is_param_defined(Infobox.param('shop')) > 0 then infobox:add_row{ {tag='td', content='[[Shop]]', colspan="6"}, {tag='td', content=Infobox.param('shop'), colspan="14"}, } end infobox:pad(20) return infobox end return p d1a17f6798805da2fbbfe22401f345ecd2faf6a5 1890 1888 2024-04-09T14:11:31Z Gau Cho 5 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'NPC', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, parse.profession, {name = 'shop', func = parse.has_content, smw_property = 'Shop'}, -- TODO - move to Module:Param Parse once more details are available, and create property page } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Profession]]', colspan="6"}, {tag='td', content=Infobox.param('profession'), colspan="14"}, } if infobox:is_param_defined(Infobox.param('shop')) > 0 then infobox:add_row{ {tag='th', content='[[Shop]]', colspan="6"}, {tag='td', content=Infobox.param('shop'), colspan="14"}, } end infobox:pad(20) return infobox end return p 7e963e9494c41e705a102991ebad08460e94c7e7 Template:Infobox NPC 10 719 1887 1454 2024-04-09T14:09:34Z Gau Cho 5 Replaced content with "{{#invoke:Infobox NPC|main}}{{Mainonly|[[Category:Non-player characters]]}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{#invoke:Infobox NPC|main}}{{Mainonly|[[Category:Non-player characters]]}}<noinclude>{{/doc}}</noinclude> 100f578c4eb413961b95e2afd075d5a212d2a01b Module:Infobox NPC/doc 828 847 1889 2024-04-09T14:11:11Z Gau Cho 5 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Zeltay Tramagan 0 834 1891 1808 2024-04-09T14:13:53Z Gau Cho 5 wikitext text/x-wiki {{Infobox NPC |name = Zeltay Tramagan |image = [[File:Zeltay Tramagan.png]] |release = |episode = |profession = }} '''Zeltay Tramagan''' is an NPC located on the [[Town Square]] in [[Hopeport (location)|Hopeport]]{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:04 / 1:41.|name=|group=}}. ==References== <references/> 3daaaf4c0e2efbc8842d5b2563b26580a6b123b4 Fishmonger 0 835 1892 1809 2024-04-09T14:14:16Z Gau Cho 5 wikitext text/x-wiki {{Infobox NPC |name = Fishmonger |image = [[File:Fishmonger.png]] |release = |episode = |profession = Fisher }} '''Fishmonger''' is an NPC located on the [[Eel Street]] in [[Hopeport (location)|Hopeport]]{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:16 / 1:41.|name=|group=}}. ==References== <references/> 7c1a13781ed5aa03e2d748579d9941f3650294de Jellyfish 0 848 1893 2024-04-09T16:40:45Z Sam 60 created page wikitext text/x-wiki Jellyfish are a type of monster. List of Jellyfish: * [[Tiderider]] 98f3a1346b95cdfba6ef3760dad34d798f205f44 1898 1893 2024-04-09T16:56:27Z Sam 60 wikitext text/x-wiki Jellyfish are a catagory of monster. List of Jellyfish: * [[Tiderider]] bddebc3a67aee9e734457a01d68bfac04adc1d63 1899 1898 2024-04-09T16:56:40Z Sam 60 wikitext text/x-wiki Jellyfish are a category of monster. List of Jellyfish: * [[Tiderider]] 2251f4cc86f571248210bc6efcdb9f851b4ed6e7 1900 1899 2024-04-09T16:57:45Z Sam 60 wikitext text/x-wiki Jellyfish are a category of monster. List of Jellyfish: * [[Tiderider]] [[Category:Monsters]] 77d5fda4b8de1596d84d3581e1e0e884547977e5 1901 1900 2024-04-09T16:58:51Z Sam 60 wikitext text/x-wiki '''Jellyfish''' are a category of monster. List of Jellyfish: * [[Tiderider]] [[Category:Monsters]] 684f0b92fd31a241f87a1a2481e63420fe4c5971 Tiderider Jellyfish 0 849 1894 2024-04-09T16:42:16Z Sam 60 created page wikitext text/x-wiki {{Infobox NPC |name = Tiderider |image = |release = Q3 2024 |episode = |premium = |profession = }} '''Tiderider''' is a [[monster]]. [[Category:Monsters]] 3a78774e6d574d55ec64bdc5aa72fb226c5ba35e 1896 1894 2024-04-09T16:44:49Z Sam 60 wikitext text/x-wiki {{Infobox NPC |name = Tiderider |image = [[File:Tiderider.PNG]] |release = Q3 2024 |episode = |premium = |profession = }} '''Tiderider''' is a [[monster]]. [[Category:Monsters]] 3ac486c067089364007179e54fac628d18fb7e85 1897 1896 2024-04-09T16:56:08Z Sam 60 wikitext text/x-wiki {{Infobox NPC |name = Tiderider |image = [[File:Tiderider.PNG]] |release = Q3 2024 |episode = |premium = |profession = }} '''Tiderider''' is a [[monster]] located in [[Jellyfish Landing]]. It is part of the [[Jellyfish]] category. [[Category:Monsters]] eba5a29561f0cc56a171820b77d66f96a2233237 File:Tiderider.png 6 850 1895 2024-04-09T16:44:06Z Sam 60 Tiderider Jellyfish wikitext text/x-wiki == Summary == Tiderider Jellyfish 97cf1d0154f2f846ccd9370e7e8aacd0448765db User:Sam 2 851 1902 2024-04-09T16:59:40Z Sam 60 Created page with "'''Hi'''" wikitext text/x-wiki '''Hi''' 4c81df20dfbd99a124007cf748687de0dfd467af Monsters 0 377 1903 1834 2024-04-09T17:02:15Z Sam 60 wikitext text/x-wiki '''Monsters''' are creatures in [[Brighter Shores]] that can be attacked. They are fought in [[combat]] for their loot, including valuable currency items. There are many monsters in Brighter Shores, including: * [[Firetoad]] * [[Grumpy Pirate]] * [[Mawchest]] * [[Punkupine]] * [[Slime Fiend]] * [[Sneaky Thief]] * [[Wailing Shade]] ==Categories== * Jellyfish * Pirates {{Mechanics}} [[Category:Monsters]] 4b0bef700a8cb14ff9fa659b58816d3ac7a1dacf Pirate 0 445 1904 728 2024-04-09T17:04:51Z Sam 60 wikitext text/x-wiki {{DISPLAYTITLE:Pirates}} '''Pirates''' are a type of [[monster]]. [[Grumpy Pirate]]s can be found in the [[Pirate Hideout]]. [[Category:Monsters]] c099838dc7772bac372e854702066cd874f08006 1905 1904 2024-04-09T17:05:15Z Sam 60 wikitext text/x-wiki '''Pirates''' are a type of [[monster]]. [[Grumpy Pirate]]s can be found in the [[Pirate Hideout]]. [[Category:Monsters]] 2d76415315f4cfc794634d8d6c8f6d14e2b07c16 1908 1905 2024-04-09T17:09:23Z Sam 60 wikitext text/x-wiki '''Pirates''' are a category of [[monster]]. List of Pirates: *[[Grumpy Pirate]] [[Category:Monsters]] 78351b5301b75ae91d48511c95e212a4432c65db 1920 1908 2024-04-09T20:06:16Z Gau Cho 5 wikitext text/x-wiki '''Pirates''' are a category of [[monster]]. List of Pirates: *[[Grumpy Pirate]] 00360d0c0b9c258372172674b1eb579955ceea71 Monsters 0 377 1906 1903 2024-04-09T17:06:35Z Sam 60 wikitext text/x-wiki '''Monsters''' are creatures in [[Brighter Shores]] that can be attacked. They are fought in [[combat]] for their loot, including valuable currency items. There are many monsters in Brighter Shores, including: * [[Firetoad]] * [[Grumpy Pirate]] * [[Mawchest]] * [[Punkupine]] * [[Slime Fiend]] * [[Sneaky Thief]] * [[Wailing Shade]] ==Categories== * [[Jellyfish]] * [[Pirates]] {{Mechanics}} [[Category:Monsters]] 878acb5c018b4f9130fb70ac5250e5fafde5bcd9 1907 1906 2024-04-09T17:07:35Z Sam 60 wikitext text/x-wiki '''Monsters''' are creatures in [[Brighter Shores]] that can be attacked. They are fought in [[combat]] for their loot, including valuable currency items. There are many monsters in Brighter Shores, including: * [[Firetoad]] * [[Grumpy Pirate]] * [[Mawchest]] * [[Punkupine]] * [[Slime Fiend]] * [[Sneaky Thief]] * [[Wailing Shade]] ==Categories== * [[Jellyfish]] * [[Pirate]] {{Mechanics}} [[Category:Monsters]] 19bfbe829bf5909c7d7a0fc62ab35c791df78aa5 1910 1907 2024-04-09T17:11:27Z Sam 60 wikitext text/x-wiki '''Monsters''' are creatures in [[Brighter Shores]] that can be attacked. They are fought in [[combat]] for their loot, including valuable currency items. There are many monsters in Brighter Shores, including: * [[Firetoad]] * [[Mawchest]] * [[Punkupine]] * [[Slime Fiend]] * [[Sneaky Thief]] * [[Wailing Shade]] ==Categories== * [[Jellyfish]] * [[Pirate]] {{Mechanics}} [[Category:Monsters]] 19d2d986afa3a878fb715a6bc58cccd8ca3a3957 1919 1910 2024-04-09T20:06:10Z Gau Cho 5 wikitext text/x-wiki '''Monsters''' are creatures in [[Brighter Shores]] that can be attacked. They are fought in [[combat]] for their loot, including valuable currency items. There are many monsters in Brighter Shores, including: * [[Firetoad]] * [[Mawchest]] * [[Punkupine]] * [[Slime Fiend]] * [[Sneaky Thief]] * [[Wailing Shade]] ==Categories== * [[Jellyfish]] * [[Pirate]] {{Mechanics}} 9db44c34eea98bf71759df174b84e0a8aafa964e 1944 1919 2024-04-10T06:12:27Z Sam 60 /* Categories */ wikitext text/x-wiki '''Monsters''' are creatures in [[Brighter Shores]] that can be attacked. They are fought in [[combat]] for their loot, including valuable currency items. There are many monsters in Brighter Shores, including: * [[Firetoad]] * [[Mawchest]] * [[Punkupine]] * [[Slime Fiend]] * [[Sneaky Thief]] * [[Wailing Shade]] ==Categories== * [[Carnivorous Plant]] * [[Jellyfish]] * [[Pirate]] {{Mechanics}} 12d556b9b11b13dd1a28247a7b83259e11c5ddc9 Jellyfish 0 848 1909 1901 2024-04-09T17:09:39Z Sam 60 wikitext text/x-wiki '''Jellyfish''' are a category of [[monster]]. List of Jellyfish: * [[Tiderider]] [[Category:Monsters]] e17b62769870342449a4c6b6d18ba61d708db0b2 1917 1909 2024-04-09T20:05:42Z Gau Cho 5 wikitext text/x-wiki '''Jellyfish''' are a category of [[monster]]. List of Jellyfish: * [[Tiderider]] ba7bd26a4eaea8e3f1689b0cb89c851469db3770 Module:Infobox Monster/doc 828 852 1911 2024-04-09T20:00:46Z Gau Cho 5 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Module:Infobox Monster 828 853 1912 2024-04-09T20:02:51Z Gau Cho 5 Created page with "local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Monster', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, {name = 'hp', func = parse.number}, -- TODO - move to Module:Param Parse once more details are available, and create smw_property } local infobox = Infobox.n..." Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Monster', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, {name = 'hp', func = parse.number}, -- TODO - move to Module:Param Parse once more details are available, and create smw_property } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Health]]', colspan="6"}, {tag='td', content=Infobox.param('hp'), colspan="14"}, } :pad(20) return infobox end return p 39fb7daf7228525aa4b8360792c76d8366830dba Template:Infobox Monster 10 854 1913 2024-04-09T20:03:34Z Gau Cho 5 Created page with "{{#invoke:Infobox Monster|main}}{{Mainonly|[[Category:Monsters]]}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{#invoke:Infobox Monster|main}}{{Mainonly|[[Category:Monsters]]}}<noinclude>{{/doc}}</noinclude> a6fd2c34a6a62f1bcc3175820a9be376c9b4b1fc Template:Infobox Monster/doc 10 855 1914 2024-04-09T20:04:24Z Gau Cho 5 Created page with "{{Documentation}} ==Parameters== ===name=== The name of the monster. ===image=== The image of the monster. ===release=== The release date of the monster. ===premium=== Whether or not this monster requires a [[premium pass]]. ===episode=== The episode of the monster. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ===hp=== The health of the monster. ==Quick copy== <pre>{{Infobox NPC |name = |image = |release = |premium = |episode = |hp = }}</..." wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the monster. ===image=== The image of the monster. ===release=== The release date of the monster. ===premium=== Whether or not this monster requires a [[premium pass]]. ===episode=== The episode of the monster. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ===hp=== The health of the monster. ==Quick copy== <pre>{{Infobox NPC |name = |image = |release = |premium = |episode = |hp = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> ead3b4389c85edd192065699c3f7891781582771 Firetoad 0 186 1915 1491 2024-04-09T20:05:13Z Gau Cho 5 wikitext text/x-wiki {{Unofficial name}} {{Infobox Monster |name = Firetoad |image = [[File:Firetoad.png]] |release = Q3 2024 |episode = Hopeport |premium = No |hp = }} '''Firetoads''' are monsters found in caves. The Hopeport town guard fights firetoads regularly, to the point where it might at first glance be mistaken that that is all they do.{{CiteVideo|author=FenResearch|title=Brighter Shores Trailer|url=https://www.youtube.com/watch?v=7lolGQaorPo|timestamp=00:01 - 00:09|date=13 May, 2024|site=Youtube|name=Original Brighter Shores Trailer}} Being that players first enter the game as members of the Hopeport town guard, it is anticipated that fighting firetoads will be one of the most common ways that players initially improve their combat abilities. As their name implies, firetoads attack with fire, which is a long-range attack with a constant speed, independent of distance to target. Firetoads can use their fire attack every 2.5 seconds. ==Gallery== <gallery> Firetoads Trailer.jpg | Firetoads as shown in the original trailer for Brighter Shores. </gallery> ==Trivia== * Firetoads were the first named monsters to be presented to players, in the original trailer for the game.<ref name="Original Brighter Shores Trailer"/> ==References== {{reflist}} 50701d3e71f1854349fc3a02e9447ec60c99ce95 Grumpy Pirate 0 450 1916 1832 2024-04-09T20:05:26Z Gau Cho 5 wikitext text/x-wiki {{Infobox Monster |name = Grumpy Pirate |image = |release = Q3 2024 |episode = |premium = |hp = }} '''Grumpy Pirate''' is a [[monster]] located in the [[Pirate Hideout]]. e801dbe5077613ae80de462c535953bfb351cd82 Mawchest 0 448 1918 1836 2024-04-09T20:05:55Z Gau Cho 5 wikitext text/x-wiki {{Infobox Monster |name = Mawchest |image = [[File:Mawchest.PNG]] |release = Q3 2024 |episode = |premium = |hp = }} '''Mawchest''' is a [[monster]]. 1b12528e5462adef82a6df85737a5b5ee78fbb03 Punkupine 0 446 1921 1841 2024-04-09T20:06:25Z Gau Cho 5 wikitext text/x-wiki {{Infobox Monster |name = Punkupine |image = |release = Q3 2024 |episode = |premium = |hp = }} '''Punkupine''' is a [[monster]]. b0ac0f81aa3c28ce76ee060ecb87acde24794140 Slime Fiend 0 447 1922 1842 2024-04-09T20:06:39Z Gau Cho 5 wikitext text/x-wiki {{Infobox Monster |name = Slime Fiend |image = |release = Q3 2024 |episode = |premium = |hp = }} '''Slime Fiend''' is a [[monster]]. 79b0c72a8625418aa627f8b3cfa17099c2ffd7a5 Sneaky Thief 0 100 1923 1843 2024-04-09T20:07:01Z Gau Cho 5 wikitext text/x-wiki {{Infobox Monster |name = Sneaky Thief |image = [[File:Sneaky Thief.png]] |release = Q3 2024 |episode = |premium = |hp = 1100 }} '''Sneaky Thieves''' are a type of monster. 634b486f12ccaa64a7203c8be38fbb3f543b748e Tiderider Jellyfish 0 849 1924 1897 2024-04-09T20:07:18Z Gau Cho 5 wikitext text/x-wiki {{Infobox Monster |name = Tiderider |image = [[File:Tiderider.PNG]] |release = Q3 2024 |episode = |premium = |hp = }} '''Tiderider''' is a [[monster]] located in [[Jellyfish Landing]]. It is part of the [[Jellyfish]] category. 33d363e8627d888f79abefbfd1b0a6472eb1c29b 1945 1924 2024-04-10T06:15:24Z Sam 60 wikitext text/x-wiki {{Infobox Monster |name = Tiderider |image = [[File:Tiderider.PNG]] |release = Q3 2024 |episode = Hopeport |premium = No |hp = }} '''Tiderider''' is a [[monster]] located in [[Jellyfish Landing]]. It is part of the [[Jellyfish]] category. 8405c8f0a210a59cd625cc6508ec3ef350ea72c0 Wailing Shade 0 85 1925 1844 2024-04-09T20:07:32Z Gau Cho 5 wikitext text/x-wiki {{Infobox Monster |name = Wailing Shade |image = [[File:Wailing Shade.png]] |release = Q3 2024 |episode = |premium = |hp = 682 }} '''Wailing Shades''' are monsters. a141707df304f3012a88b8ac0433aca7ac4b7d1c Category:Monsters 14 134 1926 248 2024-04-09T20:08:32Z Gau Cho 5 wikitext text/x-wiki {{Categoryheader|pages|that use [[Template:Infobox Monster]]}} [[Category:Content]] db069df0595f39d90c9de79e43271c6e2b8fb57f User talk:Sam 3 856 1927 2024-04-09T20:18:52Z Gau Cho 5 Created page with "Heya Sam! I'm not sure if you are on our [https://discord.gg/T8hfvcd2Vp Discord] or not, but just wanted to give you a headsup that I split [[Template:Infobox NPC]] into [[Template:Infobox NPC]] and [[Template:Infobox Monster]]! Cheers, --~~~~" wikitext text/x-wiki Heya Sam! I'm not sure if you are on our [https://discord.gg/T8hfvcd2Vp Discord] or not, but just wanted to give you a headsup that I split [[Template:Infobox NPC]] into [[Template:Infobox NPC]] and [[Template:Infobox Monster]]! Cheers, --[[User:Gau Cho|Gau Cho]] ([[User talk:Gau Cho|talk]]) 20:18, 9 April 2024 (UTC) 664d7a76a84928a39b1e3956886584a976bb7664 User:Gau Cho 2 104 1928 1612 2024-04-09T20:19:40Z Gau Cho 5 wikitext text/x-wiki Admin on BS wiki. ==Content== *[[Module:Infobox]] aedb8547a712fb4625e012624150d9a84771e6a9 File:Pirate Hideout.jpg 6 857 1929 2024-04-09T20:49:55Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1930 1929 2024-04-09T20:51:58Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1769048510177948004}} 6f5ca0034357c95ba9ae599fe98e554b5597558d Pirate Hideout 0 442 1931 1482 2024-04-09T20:53:43Z Yellowsap 63 wikitext text/x-wiki {{Infobox Location |name = Pirate Hideout |image = [[File:Pirate_Hideout.jpg|280px]] |release = |premium = |episode = }} The '''Pirate Hideout''' is a [[location]]. It contains [[Gurnard]]s, [[Pirate]]s, [[Limpet]]s, [[Wrack]]s, and a few interactable scenery items. 8a50b08e6c075a8f6b7271d2194f445daf063b6a User:Yellowsap 2 858 1932 2024-04-09T21:07:12Z Yellowsap 63 Created page with "Discord: yellowsap" wikitext text/x-wiki Discord: yellowsap bc292d2445db2ffd01585f47179d771efd482bdf File:Health potion.png 6 646 1933 1352 2024-04-09T21:56:53Z Yellowsap 63 Yellowsap uploaded a new version of [[File:Health potion.png]] wikitext text/x-wiki {{Transparency}} == Summary == [[Category:Potion images]] f9c1c2822d82368653bb196a5bd1431e096cf925 1934 1933 2024-04-09T21:57:17Z Yellowsap 63 wikitext text/x-wiki == Summary == [[Category:Potion images]] 403612027df4e8aa7c694b3882d8a5d2b1b95b5c File:Merchant potion.png 6 637 1935 1353 2024-04-10T05:47:36Z Sam 60 Sam uploaded a new version of [[File:Merchant potion.png]] wikitext text/x-wiki {{Transparency}} [[Category:Potion images]] 376dd24b9050af743ffdd1b06a93cbee2621c131 1936 1935 2024-04-10T05:48:31Z Sam 60 wikitext text/x-wiki [[Category:Potion images]] 388d06d85806717fa6f546638e7310b47cc31d1c File:Bronze legs.png 6 742 1937 1377 2024-04-10T06:02:46Z Sam 60 Sam uploaded a new version of [[File:Bronze legs.png]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] d8f86345b82132b6d2bf82675e4f6d8b3c07f303 1938 1937 2024-04-10T06:02:58Z Sam 60 wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] 99d9f9fa3ca48d11e5091632aca75953885232f9 Greenlid Carnivorous Plant 0 859 1939 2024-04-10T06:08:45Z Sam 60 created page wikitext text/x-wiki {{Infobox Monster |name = Greenlid |image = |release = Q3 2024 |episode = |premium = |hp = }} '''Greenlids''' are monsters found by the [[Fallen Monument]]. 019c3ed6a1ffbdb56e6d9b7be5af96a25c233b1d 1940 1939 2024-04-10T06:10:13Z Sam 60 wikitext text/x-wiki {{Infobox Monster |name = Greenlid |image = |release = Q3 2024 |episode = |premium = |hp = }} '''Greenlids''' are monsters found by the [[Fallen Monument]]. It is part of the [[Carnivorous Plant]] category. 90669955d277c0922e608f5b376f971a50a06b4c 1941 1940 2024-04-10T06:10:26Z Sam 60 wikitext text/x-wiki {{Infobox Monster |name = Greenlid |image = |release = Q3 2024 |episode = |premium = |hp = }} '''Greenlids''' are monsters found by the [[Fallen Monument]]. They are part of the [[Carnivorous Plant]] category. 3cb3001625d46662efb8627aca71f52c6d188053 1943 1941 2024-04-10T06:11:48Z Sam 60 wikitext text/x-wiki {{Infobox Monster |name = Greenlid |image = [[File:Greenlid.PNG]] |release = Q3 2024 |episode = |premium = |hp = }} '''Greenlids''' are monsters found by the [[Fallen Monument]]. They are part of the [[Carnivorous Plant]] category. 0c125fe8d27b54d62d4e9d3c6bd03e3fb52d32ac File:Greenlid Carnivorous Plant.png 6 860 1942 2024-04-10T06:11:28Z Sam 60 A Greenlid monster wikitext text/x-wiki == Summary == A Greenlid monster 7c94bb88d44dfd0357d6248b6cfa1544a7741909 Passive Activity 0 337 1946 553 2024-04-10T09:13:17Z 82.5.156.136 0 Changed redirect target from [[Passive activity]] to [[Professions#Passive training]] wikitext text/x-wiki #REDIRECT [[Professions#Passive training]] 4c37fa20aa7ec022c193b0ba116870e82080dfa6 File:Town Square.jpg 6 861 1947 2024-04-10T09:19:26Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 1948 1947 2024-04-10T09:19:58Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1776276857706479810}} 2d80bc546769443ab1e88c27592359609c85832a Town Square 0 838 1949 1822 2024-04-10T09:20:35Z Yellowsap 63 wikitext text/x-wiki {{Infobox Location |name = Town Square |image = [[File:Town_Square.jpg|280px]] |release = |premium = |episode = Hopeport }} The '''Town Square''' is a location in [[Hopeport (location)|Hopeport]]. d472e42a589635671f289f132f91ec24c4e8b887 File:Cryoknight potion.png 6 648 1950 1350 2024-04-10T09:36:38Z Yellowsap 63 Yellowsap uploaded a new version of [[File:Cryoknight potion.png]] wikitext text/x-wiki {{Transparency}} == Summary == [[Category:Potion images]] f9c1c2822d82368653bb196a5bd1431e096cf925 1951 1950 2024-04-10T09:38:19Z Yellowsap 63 wikitext text/x-wiki == Summary == [[Category:Potion images]] 403612027df4e8aa7c694b3882d8a5d2b1b95b5c Potion 0 298 1952 481 2024-04-10T10:10:23Z Yellowsap 63 wikitext text/x-wiki '''Potions''' are consumables that may be brewed through the [[Alchemist]] [[profession]]. ==List of potions== {| class="wikitable" ! !! Potion |- | [[File:Cryoknight potion.png|30px|link=Cryoknight potion]] || [[Cryoknight potion]] |- | [[File:Hammermage potion.png|30px|link=Hammermage potion]] || [[Hammermage potion]] |- | [[File:Health potion.png|30px|link=Health potion]] || [[Health potion]] |- | [[File:Merchant potion.png|30px|link=Merchant potion]] || [[Merchant potion]] |- | [[File:Miner potion.png|30px|link=Miner potion]] || [[Miner potion]] |} 7d54767f67e23729a86359305d7718ae9723cf29 File:Hammermage potion.png 6 633 1953 1351 2024-04-10T10:17:42Z Yellowsap 63 Yellowsap uploaded a new version of [[File:Hammermage potion.png]] wikitext text/x-wiki {{Transparency}} [[Category:Potion images]] 376dd24b9050af743ffdd1b06a93cbee2621c131 File:Hammermage potion.png 6 633 1954 1953 2024-04-10T10:19:15Z Yellowsap 63 wikitext text/x-wiki [[Category:Potion images]] 388d06d85806717fa6f546638e7310b47cc31d1c File:Miner potion.png 6 467 1955 1354 2024-04-10T10:26:28Z Yellowsap 63 Yellowsap uploaded a new version of [[File:Miner potion.png]] wikitext text/x-wiki {{Transparency}} [[Category:Potion images]] f9a641b1e332f09765eddb6b339bbbdbf9680bab 1956 1955 2024-04-10T10:26:38Z Yellowsap 63 wikitext text/x-wiki [[Category:Potion images]] 388d06d85806717fa6f546638e7310b47cc31d1c Strength Arborae 0 862 1957 2024-04-10T10:52:01Z Yellowsap 63 Created page with "{{Infobox Item |name = Arborae potion |image = [[File:Arborae potion.png]] |premium = |release = Q3 [[2024]] |episode = |profession = [[Alchemist]] |value = }} The '''Arborae potion''' is a type of [[potion]]. [[Category:Potions]]" wikitext text/x-wiki {{Infobox Item |name = Arborae potion |image = [[File:Arborae potion.png]] |premium = |release = Q3 [[2024]] |episode = |profession = [[Alchemist]] |value = }} The '''Arborae potion''' is a type of [[potion]]. [[Category:Potions]] ee15737dd6138fddb2084da4c2f5b0674f7f3b37 1966 1957 2024-04-10T15:19:03Z InvalidCards 4 wikitext text/x-wiki {{Infobox Item |name = Arborae potion |image = [[File:Arborae potion.png]] |premium = |release = Q3 [[2024]] |episode = |profession = [[Alchemist]] |value = }} The '''Arborae potion''' is a type of [[potion]].{{CiteTrailer|timestamp=0:19}} ==References== {{Reflist}} [[Category:Potions]] 08f8fb3d89f1bce58d860c4a2c023e3aa905f952 File:Arborae potion.png 6 863 1958 2024-04-10T10:56:38Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Potion 0 298 1959 1952 2024-04-10T10:57:29Z Yellowsap 63 wikitext text/x-wiki '''Potions''' are consumables that may be brewed through the [[Alchemist]] [[profession]]. ==List of potions== {| class="wikitable" ! !! Potion |- | [[File:Arborae potion.png|30px|link=Arborae potion]] || [[Arborae potion]] |- | [[File:Cryoknight potion.png|30px|link=Cryoknight potion]] || [[Cryoknight potion]] |- | [[File:Hammermage potion.png|30px|link=Hammermage potion]] || [[Hammermage potion]] |- | [[File:Health potion.png|30px|link=Health potion]] || [[Health potion]] |- | [[File:Merchant potion.png|30px|link=Merchant potion]] || [[Merchant potion]] |- | [[File:Miner potion.png|30px|link=Miner potion]] || [[Miner potion]] |} 2c715ca5cff4575ece9204fd80541fd37a6a39d3 1962 1959 2024-04-10T15:03:24Z Merds 25 /* List of potions */ wikitext text/x-wiki '''Potions''' are consumables that may be brewed through the [[Alchemist]] [[profession]]. ==List of potions== {| class="wikitable" ! colspan="2" | Potions |- | [[File:Arborae potion.png|30px|link=Arborae potion]] || [[Arborae potion]] |- | [[File:Cryoknight potion.png|30px|link=Cryoknight potion]] || [[Cryoknight potion]] |- | [[File:Hammermage potion.png|30px|link=Hammermage potion]] || [[Hammermage potion]] |- | [[File:Health potion.png|30px|link=Health potion]] || [[Health potion]] |- | [[File:Merchant potion.png|30px|link=Merchant potion]] || [[Merchant potion]] |- | [[File:Miner potion.png|30px|link=Miner potion]] || [[Miner potion]] |} 342d726ef46312889a19220a96be2d9e9fbedd25 Coin 0 864 1960 2024-04-10T12:55:13Z Yellowsap 63 Redirected page to [[Coins]] wikitext text/x-wiki #REDIRECT [[Coins]] 0d90e1e9248a73fc4b0355940a621d7228d9214e Potions 0 865 1961 2024-04-10T15:02:13Z InvalidCards 4 Redirected page to [[Potion]] wikitext text/x-wiki #REDIRECT [[Potion]] 56916a89a5e29f5e4a3f1161baf9dfbf508a69bd Template:CiteTrailer 10 866 1963 2024-04-10T15:14:00Z InvalidCards 4 Created page with "<includeonly>{{CiteVideo|author=FenResearch|title=Brighter Shores Trailer|url=https://www.youtube.com/watch?v=7lolGQaorPo|timestamp={{{timestamp|}}}|date=13 May, 2024|site=Youtube|name=Original Brighter Shores Trailer}}</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>{{CiteVideo|author=FenResearch|title=Brighter Shores Trailer|url=https://www.youtube.com/watch?v=7lolGQaorPo|timestamp={{{timestamp|}}}|date=13 May, 2024|site=Youtube|name=Original Brighter Shores Trailer}}</includeonly><noinclude>{{/doc}}</noinclude> 09addc8f0e459bd5241e27b33be78acf558e53f4 1968 1963 2024-04-10T15:45:36Z Yellowsap 63 Correcting month. wikitext text/x-wiki <includeonly>{{CiteVideo|author=FenResearch|title=Brighter Shores Trailer|url=https://www.youtube.com/watch?v=7lolGQaorPo|timestamp={{{timestamp|}}}|date=13 March, 2024|site=Youtube|name=Original Brighter Shores Trailer}}</includeonly><noinclude>{{/doc}}</noinclude> 7f379d92e855ebd0ca03feec33cc0e64295ea3d9 Template:CiteTrailer/doc 10 867 1964 2024-04-10T15:16:15Z InvalidCards 4 Created page with "{{Documentation}} This template serves as a shortcut for {{t|CiteVideo}} specifically for the preview trailer of the game. The only accepted parameter is <code>timestamp</code>, which is passed directly to the underlying template. ==Usage== <pre><nowiki>{{CiteTrailer|timestamp=1:20}}</nowiki></pre> produces {{CiteTrailer|timestamp=1:20}} ==References== {{Reflist}}" wikitext text/x-wiki {{Documentation}} This template serves as a shortcut for {{t|CiteVideo}} specifically for the preview trailer of the game. The only accepted parameter is <code>timestamp</code>, which is passed directly to the underlying template. ==Usage== <pre><nowiki>{{CiteTrailer|timestamp=1:20}}</nowiki></pre> produces {{CiteTrailer|timestamp=1:20}} ==References== {{Reflist}} b621f7b0e95ed7ec1c588489b30f955a59bc22cb Firetoad 0 186 1965 1915 2024-04-10T15:16:56Z InvalidCards 4 Swap to CiteTrailer wikitext text/x-wiki {{Unofficial name}} {{Infobox Monster |name = Firetoad |image = [[File:Firetoad.png]] |release = Q3 2024 |episode = Hopeport |premium = No |hp = }} '''Firetoads''' are monsters found in caves. The Hopeport town guard fights firetoads regularly, to the point where it might at first glance be mistaken that that is all they do.{{CiteTrailer|timestamp=00:01 - 00:09}} Being that players first enter the game as members of the Hopeport town guard, it is anticipated that fighting firetoads will be one of the most common ways that players initially improve their combat abilities. As their name implies, firetoads attack with fire, which is a long-range attack with a constant speed, independent of distance to target. Firetoads can use their fire attack every 2.5 seconds. ==Gallery== <gallery> Firetoads Trailer.jpg | Firetoads as shown in the original trailer for Brighter Shores. </gallery> ==Trivia== * Firetoads were the first named monsters to be presented to players, in the original trailer for the game.<ref name="Original Brighter Shores Trailer"/> ==References== {{reflist}} 71e3fc4d4374cc5a7e2de4bff1780bbc9be86c25 T.E.A. Machine 0 223 1967 395 2024-04-10T15:20:44Z InvalidCards 4 refs wikitext text/x-wiki [[File:T.E.A. Machine.png|thumb|right|A preview of the T.E.A. Machine.]] The '''T.E.A. Machine''' is a machine in which players can load stones into to complete an action.{{CiteTrailer|timestamp=0:21}} The machine's exact purpose is currently unknown. ==References== {{Reflist}} 787262254232c6ca14eb6a5614c0408e81550e81 Pirate Hideout 0 442 1969 1931 2024-04-10T15:51:39Z Yellowsap 63 wikitext text/x-wiki {{Infobox Location |name = Pirate Hideout |image = [[File:Pirate_Hideout.jpg|280px]] |release = |premium = |episode = }} The '''Pirate Hideout''' is a [[location]]. It contains [[Gurnard]]s, [[Pirate]]s, [[Limpet]]s, [[Wrack]]s, and a few interactable scenery items.{{CiteTwitter|author=AndrewCGower|url=https://twitter.com/AndrewCGower/status/1769048510177948004|quote=|date=16 March, 2024|archiveurl=|archivedate=|notes=|name=}} ==References== {{Reflist}} 7648b6374796702720e5f29d1bf723a91ccb5f7b 1971 1969 2024-04-10T15:56:08Z Yellowsap 63 wikitext text/x-wiki {{Infobox Location |name = Pirate Hideout |image = [[File:Pirate_Hideout.jpg|280px]] |release = |premium = |episode = }} The '''Pirate Hideout''' is a [[location]]. It contains [[Gurnard]]s, [[Pirate]]s, [[Limpet]]s, [[Wrack]]s, and a few interactable scenery items.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|notes=|name=}} ==References== {{Reflist}} d004f87761abdeef753da81c18031c113c18d350 Category:Unarchived Twitter references 14 868 1970 2024-04-10T15:54:23Z BlackHawk 10 Created page with "{{Categoryheader|pages and images|Twitter references that have not been properly archived on [https://www.archive.today archive.today] or some other archive site|yes|{{T|CiteTwitter}}}} {{Hidden category}} [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__" wikitext text/x-wiki {{Categoryheader|pages and images|Twitter references that have not been properly archived on [https://www.archive.today archive.today] or some other archive site|yes|{{T|CiteTwitter}}}} {{Hidden category}} [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__ e27c399f3169f8ff73f04bc956aa5d7fa98d8a39 File:Coif.png 6 635 1972 1355 2024-04-10T16:27:52Z Sam 60 Sam uploaded a new version of [[File:Coif.png]] wikitext text/x-wiki {{Transparency}} [[Category:Equipment images]] 97290063d01509323b496ae9a91a00bba30774f9 1973 1972 2024-04-10T16:28:11Z Sam 60 wikitext text/x-wiki [[Category:Equipment images]] c0f3495b1253ecbf1fbea2d80ea286868c4c9e0e 1977 1973 2024-04-10T17:23:10Z Sam 60 Sam uploaded a new version of [[File:Coif.png]] wikitext text/x-wiki [[Category:Equipment images]] c0f3495b1253ecbf1fbea2d80ea286868c4c9e0e File:Crossbow.png 6 730 1974 1358 2024-04-10T16:53:24Z Sam 60 Sam uploaded a new version of [[File:Crossbow.png]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. [[Category:Equipment images]] efd0c43b6fa2a7da4c70430cfcac5260efbf7140 1975 1974 2024-04-10T16:53:53Z Sam 60 wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. [[Category:Equipment images]] 346f823e6d67fb046e18e84418bd1236b1585685 1976 1975 2024-04-10T17:21:59Z Sam 60 Sam uploaded a new version of [[File:Crossbow.png]] wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. [[Category:Equipment images]] 346f823e6d67fb046e18e84418bd1236b1585685 File:Bronze legs.png 6 742 1978 1938 2024-04-10T17:24:27Z Sam 60 Sam uploaded a new version of [[File:Bronze legs.png]] wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] 99d9f9fa3ca48d11e5091632aca75953885232f9 File:Merchant potion.png 6 637 1979 1936 2024-04-10T17:25:10Z Sam 60 Sam uploaded a new version of [[File:Merchant potion.png]] wikitext text/x-wiki [[Category:Potion images]] 388d06d85806717fa6f546638e7310b47cc31d1c Grumpy Pirate 0 450 1980 1916 2024-04-10T17:32:30Z InvalidCards 4 wikitext text/x-wiki {{Infobox Monster |name = Grumpy Pirate |image = |release = Q3 2024 |episode = |premium = |hp = }} '''Grumpy Pirate''' is a [[monster]] located in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|notes=|name=}} ==References== {{Reflist}} 801ff4d50a8e86710f3558e3737e2f3a2d349e01 1984 1980 2024-04-10T17:37:43Z InvalidCards 4 wikitext text/x-wiki {{Infobox Monster |name = Grumpy Pirate |image = |release = Q3 2024 |episode = |premium = |hp = |variant = [[Pirate]] }} '''Grumpy Pirate''' is a [[monster]] located in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|notes=|name=}} ==References== {{Reflist}} 2c705a433ad4fb9e7187e8b98ff37d8180a311b9 Module:Infobox Monster 828 853 1981 1912 2024-04-10T17:35:10Z InvalidCards 4 Add variant parameter Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Monster', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, {name = 'hp', func = parse.number}, -- TODO - move to Module:Param Parse once more details are available, and create smw_property parse.variant, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Health]]', colspan="6"}, {tag='td', content=Infobox.param('hp'), colspan="14"}, } :add_row{ {tag='th', content='[[Variant]] of', colspan="6"}, {tag='td', content=Infobox.param('variant'), colspan="14"}, } :pad(20) return infobox end return p 468a9129c88933389f2185359d82b371e8ce0802 Module:Param Parse 828 673 1982 1882 2024-04-10T17:36:57Z InvalidCards 4 Add variant parameter Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Generic functions -- ----------------------- -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] ~= nil then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end -- Premade Params -- -------------------- -- Standardized name function parse.name = { name = 'name', func = parse.has_content, smw_property = 'Name', } -- Standardized image function function parse.image_func(img) if img and string.match(img, '%[%[File:.*%]%]') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.*%.%w%w%w") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image', } -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode_func(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end parse.episode = { name = 'episode', func = parse.episode_func, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Needs episode', } -- Premium parse.premium = { name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no, category_incomplete = 'Needs premium status', } -- Release (TODO) parse.release = { name = 'release', func = parse.has_content, } -- Profession (TODO) parse.profession = { name = 'profession', func = parse.has_content, category_incomplete = 'Needs profession', smw_property = 'Profession' -- TODO - Need to create property page } parse.variant = { name = 'variant', func = parse.has_content, category_incomplete = 'Needs variant details', smw_property = 'Variant of' -- TODO - Need to create property page } return parse -- </nowiki> 5af87d5fba94110a0cd0db7346ad3ccefe023277 Module:Param Parse/doc 828 781 1983 1883 2024-04-10T17:37:29Z InvalidCards 4 wikitext text/x-wiki {{documentation}} These params and functions are used to validate and format information passed into an Infobox. See [[Module:Infobox]] for details and instructions on creating an Infobox. If the information is missing or not valid, the functions here should return nil. Here is a summary of all the params: {| class="wikitable" ! param ! explanation |- | parse.image | <nowiki>[[File:IMAGE.png]]</nowiki>. Use the class '''infobox-image''' in the table |- | parse.episode | Episode name |- | parse.premium | Premium (Yes, No, N/A) |- | parse.release | TODO |- | parse.profession | TODO |- | parse.variant | TODO - Which category the subject is a variant of |} Here are some general use functions that can be used for custom or new params: {| class="wikitable" ! function name ! explanation |- | has_content(arg) | Returns arg if any non-whitespace character is found in the string. |- | number(num) | Removes any commas and parses the string as a number |- | yes_no(text) | Only accepts "Yes", "No" and "N/A" |- | yes_no_smw(text) | Maps "Yes", "No" to true and false respectively |} == Creating New Params == Ideally, params should be defined here so that they can be reused between different Infoboxes. Here is how to create a new param: <syntaxhighlight lang="lua"> parse.paramname = { name = <param>, func = <func>, empty = 'empty', -- optional category_never = 'category', -- optional category_partial = 'category', -- optional category_incomplete = 'category', -- optional category_complete = 'category', -- optional smw_property = 'Property', -- optional smw_func = <func>, -- optional } </syntaxhighlight> {| class="wikitable" ! key ! value |- | name | parameter name as used in the Template |- | func | A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended. If func is a function, will call func(Infobox.raw_param(name)): <syntaxhighlight lang="lua"> {name = <param>, func = <func>, ... }, </syntaxhighlight> If func is a table, it takes the following parameters: <syntaxhighlight lang="lua"> {name = <param>, func = { name = <func>, params = <func_params>}, ... }, </syntaxhighlight> {| class="wikitable" | name | function in [[Module:Param Parse]] |- | params | a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name) |} |- | empty (optional) | text to display in the infobox if func returns nil; defaults to "? (edit)" |- | category_never (optional) | category to add if func returns nil for all versions |- | category_partial (optional) | category to add if func returns nil for some versions, but a value for other versions |- | category_incomplete (optional) | category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) |- | category_complete (optional) | category to add if func returns a value for all versions |- | smw_property (optional) | if this string is defined, the parameter will be saved into SMW |- | smw_func (optional) | function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |} bff7207298057b6b3947fdbb9941c716f761009a Variant 0 869 1985 2024-04-10T17:39:55Z InvalidCards 4 Created page with "{{Unofficial name}} Most profession-based interactables have '''variants'''. They are a separate part of the name of the interactable, and are separated in the title bar by a profession icon. It is not currently known whether interactables have multiple variants, or what the influences of different variants are. [[Category:Mechanics]]" wikitext text/x-wiki {{Unofficial name}} Most profession-based interactables have '''variants'''. They are a separate part of the name of the interactable, and are separated in the title bar by a profession icon. It is not currently known whether interactables have multiple variants, or what the influences of different variants are. [[Category:Mechanics]] bd2c39b3ca5aa4cff787cb8aad188ed6d3004f79 1986 1985 2024-04-10T17:40:11Z InvalidCards 4 wikitext text/x-wiki {{Unofficial name}} Most profession-based interactables have '''variants'''. They are a separate part of the name of the interactable, and are separated from the base name in the title bar by a profession icon. It is not currently known whether interactables have multiple variants, or what the influences of different variants are. [[Category:Mechanics]] cc1c72d5f15fbcf0ba4ed6900ea22c3d68be172c Pirate 0 445 1987 1920 2024-04-10T17:43:31Z InvalidCards 4 wikitext text/x-wiki '''Pirates''' are a category of [[monster]]. The following [[variant]]s are known to exist: *[[Grumpy Pirate]] [[Category:Interactable category]] 5c3b32f3f5ae415b05bdeb88acb7dccc969f1b40 1988 1987 2024-04-10T17:44:04Z InvalidCards 4 Should be plural wikitext text/x-wiki '''Pirates''' are a category of [[monster]]. The following [[variant]]s are known to exist: *[[Grumpy Pirate]] [[Category:Interactable categories]] e8fa3e618f670d9d0cd66954c6c9c3d5e227f46d 1993 1988 2024-04-10T17:48:36Z InvalidCards 4 wikitext text/x-wiki {{Interactcategory|name=Pirates|type=[[monster]]}} *[[Grumpy Pirate]] 48694ec728075373cee935d10639bb19ed0f30e3 Category:Interactable categories 14 870 1989 2024-04-10T17:44:46Z InvalidCards 4 Created page with "{{Categoryheader|pages|in-game categories of interactable objects}} [[Category:Mechanics]]" wikitext text/x-wiki {{Categoryheader|pages|in-game categories of interactable objects}} [[Category:Mechanics]] 6cb4668edc80d85ace233269056cfa8a07059c81 File:Branch.png 6 466 1990 1837 2024-04-10T17:47:13Z Sam 60 Sam uploaded a new version of [[File:Branch.png]] wikitext text/x-wiki == Summary == A branch c1eb7f12d01e99f3a260f388e798469ad89d929b Template:Interactcategory 10 871 1991 2024-04-10T17:47:51Z InvalidCards 4 Created page with "<includeonly>'''{{{name|(name missing)}}}''' are a category of {{{type|(type missing)}}}. The following [[variant]]s are known to exist:{{Mainonly|[[Category:Interactable categories]]}}</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <includeonly>'''{{{name|(name missing)}}}''' are a category of {{{type|(type missing)}}}. The following [[variant]]s are known to exist:{{Mainonly|[[Category:Interactable categories]]}}</includeonly><noinclude>{{/doc}}</noinclude> b72cd4b6b139de226690c850a8ae220d283ac2d4 1992 1991 2024-04-10T17:48:29Z InvalidCards 4 extra newline wikitext text/x-wiki <includeonly>'''{{{name|(name missing)}}}''' are a category of {{{type|(type missing)}}}. The following [[variant]]s are known to exist:{{Mainonly|[[Category:Interactable categories]]}}</includeonly><noinclude>{{/doc}}</noinclude> 0aaccada65bc3e398fdee240d510a2f79096edbb Gurnard 0 444 1994 1423 2024-04-10T17:50:06Z InvalidCards 4 wikitext text/x-wiki {{Interactcategory|name=Gurnards|type=[[Fisher]] interactable}} * [[Yellowtail Gurnard]] 1db84d1aec71feb66db5b58f14a4282670f0b786 Yellowtail Gurnard 0 449 1995 1341 2024-04-10T17:51:41Z InvalidCards 4 Removed redirect to [[Gurnard]] wikitext text/x-wiki {{Infobox NPC |name = Yellowtail Gurnard |image = |release = |episode = |profession = [[Fisher]] }} '''Yellowtail Gurnards''' are a type of [[fish]] and a variant of [[Gurnard]]s found in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=}} ==References== {{Reflist}} 130c2cc0df02177bf93a706bb22869ad144064b1 1996 1995 2024-04-10T17:51:53Z InvalidCards 4 wikitext text/x-wiki {{Infobox NPC |name = Yellowtail Gurnard |image = |release = |episode = |profession = [[Fisher]] }} '''Yellowtail Gurnards''' are a type of [[fish]] and a [[variant]] of [[Gurnard]]s found in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=}} ==References== {{Reflist}} 1338b921f65d1233d3c096c117656399194c1b98 File:Shield.png 6 744 1997 1379 2024-04-10T17:57:04Z Sam 60 Sam uploaded a new version of [[File:Shield.png]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] d8f86345b82132b6d2bf82675e4f6d8b3c07f303 1998 1997 2024-04-10T17:57:22Z Sam 60 wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] 99d9f9fa3ca48d11e5091632aca75953885232f9 Limpet 0 451 1999 731 2024-04-10T17:57:48Z InvalidCards 4 wikitext text/x-wiki {{Interactcategory|name=Limpets|type=[[Forager]] interactable}} * [[Common Limpet]] 2dbd729874c3ccb13d09b5d47ab890af32105abc Common Limpet 0 872 2000 2024-04-10T17:58:53Z InvalidCards 4 Created page with "{{Infobox NPC |name = Common Limpet |image = |release = |episode = |profession = [[Forager]] }} '''Common Limpets''' are a type of [[Forager]] interactable and a [[variant]] of [[Limpet]]s found in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=}} ==References== {{Reflist}}" wikitext text/x-wiki {{Infobox NPC |name = Common Limpet |image = |release = |episode = |profession = [[Forager]] }} '''Common Limpets''' are a type of [[Forager]] interactable and a [[variant]] of [[Limpet]]s found in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=}} ==References== {{Reflist}} aebe9f754b8658bcfa087a5d400c88a9784d6b0f Wrack 0 452 2001 730 2024-04-10T18:00:08Z InvalidCards 4 wikitext text/x-wiki {{Interactcategory|name=Wrack|type=[[Forager]] interactable}} * [[Bladder Wrack]] 03d94d549d5921a6270e2176a532320e80591744 Bladder Wrack 0 873 2002 2024-04-10T18:00:48Z InvalidCards 4 Created page with "{{Infobox NPC |name = Bladder Wrack |image = |release = |episode = |profession = [[Forager]] }} '''Bladder Wracks''' are a type of [[Forager]] interactable and a [[variant]] of [[Wrack]]s found in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=}} ==References== {{Reflist}}" wikitext text/x-wiki {{Infobox NPC |name = Bladder Wrack |image = |release = |episode = |profession = [[Forager]] }} '''Bladder Wracks''' are a type of [[Forager]] interactable and a [[variant]] of [[Wrack]]s found in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=}} ==References== {{Reflist}} 8c4475a70ff32f3d40602fe8464e410788a7242a File:Iron legs.png 6 741 2003 1376 2024-04-10T18:03:33Z Sam 60 Sam uploaded a new version of [[File:Iron legs.png]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] d8f86345b82132b6d2bf82675e4f6d8b3c07f303 Rope 0 874 2004 2024-04-10T18:03:45Z InvalidCards 4 Created page with "{{Infobox Scenery |name = Rope |image = [[File:Rope.png]] |release = |episode = }} A '''rope''' is a piece of interactable scenery that can be found in [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=24 March 2024|archiveurl=https://archive.is/whgCd|archivedate=24 March 2024|quote=}} ==References== {{Reflist}}" wikitext text/x-wiki {{Infobox Scenery |name = Rope |image = [[File:Rope.png]] |release = |episode = }} A '''rope''' is a piece of interactable scenery that can be found in [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=24 March 2024|archiveurl=https://archive.is/whgCd|archivedate=24 March 2024|quote=}} ==References== {{Reflist}} 423e018e0b40672f77fd7da398b04b0a14f7a07b File:Rope.png 6 875 2005 2024-04-10T18:04:08Z InvalidCards 4 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Pirate Hideout 0 442 2006 1971 2024-04-10T18:04:25Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = Pirate Hideout |image = [[File:Pirate_Hideout.jpg|280px]] |release = |premium = |episode = }} The '''Pirate Hideout''' is a [[location]]. It contains [[Yellowtail Gurnard]]s, [[Grumpy Pirate]]s, [[Common Limpet]]s, [[Bladder Wrack]]s, a [[rope]], a [[trunk]], and an [[old trunk]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|notes=|name=}} ==References== {{Reflist}} 66e1a2bc5df0e1b39e3aa6c765b10d6d89e52270 File:Iron legs.png 6 741 2007 2003 2024-04-10T18:05:11Z Sam 60 wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] 99d9f9fa3ca48d11e5091632aca75953885232f9 Variant 0 869 2008 1986 2024-04-10T18:08:15Z InvalidCards 4 wikitext text/x-wiki {{Unofficial name}} Most profession-based interactables and some interactables without related professions have '''variants'''. They are a separate part of the name of the interactable, and are separated from the base name in the title bar by a profession icon. It is not currently known whether interactables have multiple variants, or what the influences of different variants are. [[Category:Mechanics]] 1cc2cbdf7e9f8bb288f2c1bd34c43af352b37e32 File:Iron platebody.png 6 740 2009 1375 2024-04-10T18:15:47Z Sam 60 Sam uploaded a new version of [[File:Iron platebody.png]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] d8f86345b82132b6d2bf82675e4f6d8b3c07f303 2010 2009 2024-04-10T18:15:57Z Sam 60 wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] 99d9f9fa3ca48d11e5091632aca75953885232f9 File:Log.png 6 737 2011 1372 2024-04-10T18:17:33Z Sam 60 Sam uploaded a new version of [[File:Log.png]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Item images]] 9539efc2f76d9c14eb57a0a46911745bb9583405 2013 2011 2024-04-10T18:17:44Z Sam 60 wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Item images]] 9c003c51ca3df174d06d1762e444834e2b0ed117 Zeltay Tramagan 0 834 2012 1891 2024-04-10T18:17:40Z InvalidCards 4 minor switcharoo wikitext text/x-wiki {{Infobox NPC |name = Zeltay Tramagan |image = [[File:Zeltay Tramagan.png]] |release = |episode = |profession = }} '''Zeltay Tramagan''' is an NPC located on the [[Town Square]] in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:04 / 1:41.|name=|group=}} ==References== <references/> 7568655b0fc634f4b9078865e368805bcfe131fe File:Log basket.png 6 738 2014 1373 2024-04-10T18:25:18Z Sam 60 Sam uploaded a new version of [[File:Log basket.png]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Item images]] 9539efc2f76d9c14eb57a0a46911745bb9583405 2015 2014 2024-04-10T18:25:30Z Sam 60 wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Item images]] 9c003c51ca3df174d06d1762e444834e2b0ed117 File:Staff.png 6 732 2016 1360 2024-04-10T18:30:22Z Sam 60 Sam uploaded a new version of [[File:Staff.png]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. [[Category:Equipment images]] efd0c43b6fa2a7da4c70430cfcac5260efbf7140 2017 2016 2024-04-10T18:30:33Z Sam 60 wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. [[Category:Equipment images]] 346f823e6d67fb046e18e84418bd1236b1585685 Fishmonger 0 835 2018 1892 2024-04-10T18:31:27Z InvalidCards 4 wikitext text/x-wiki {{Infobox NPC |name = Fishmonger |image = [[File:Fishmonger.png]] |release = |episode = |profession = Fisher }} '''Fishmonger''' is an NPC located on the [[Eel Street]] in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:16 / 1:41.|name=|group=}} ==References== <references/> 69496770c3fd820aeb44868b0a20d43d98f2aeb7 Town Square 0 838 2019 1949 2024-04-10T18:32:38Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = Town Square |image = [[File:Town_Square.jpg|280px]] |release = |premium = |episode = Hopeport }} The '''Town Square''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:00 / 1:41.|name=|group=}} It connects to the [[Eel Street Bridge]] in the south. ==References== {{Reflist}} 4c6b7fafc4608749d838ba18cf934c645e0e032b File:Mace.png 6 731 2020 1359 2024-04-10T18:33:10Z Sam 60 Sam uploaded a new version of [[File:Mace.png]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. [[Category:Equipment images]] efd0c43b6fa2a7da4c70430cfcac5260efbf7140 2022 2020 2024-04-10T18:33:25Z Sam 60 wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/03_shade_combat.jpg. [[Category:Equipment images]] 346f823e6d67fb046e18e84418bd1236b1585685 Eel Street Bridge 0 809 2021 1863 2024-04-10T18:33:21Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = Eel Street Bridge |image = [[File:Eel Street Bridge.jpg|280px]] |release = |premium = |episode = }} The '''Eel Street Bridge''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:07 / 1:41.|name=|group=}} The bridge connects [[Eel Street]] to the south and the Hopeport [[Town Square]] to the north. ==References== {{Reflist}} d15bebfcdb85dda38d531b0561f7c0826bac1110 Eel Street 0 810 2023 1864 2024-04-10T18:34:27Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = Eel Street |image = [[File:Eel Street.jpg|280px]] |release = |premium = |episode = }} '''Eel Street''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:13 / 1:41.|name=|group=}} It is connected to the [[Eel Street Bridge]] to the north and the [[Central Waterfront]] to the south. A [[fishmonger]] is located on Eel Street. ==References== {{Reflist}} 6834140838f5f36a27bddee6d12a27d0cb0e9599 Central Waterfront 0 811 2024 1865 2024-04-10T18:35:26Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = Central Waterfront |image = [[File:Central Waterfront.jpg|280px]] |release = |premium = |episode = }} The '''Central Waterfront''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:20 / 1:41.|name=|group=}} It connects with [[Eel Street]] to the north and the [[West Waterfront]] to the west. ==References== {{Reflist}} 2073e82b911b8b9b90cf92e144d11828accf9893 West Waterfront 0 812 2025 1866 2024-04-10T18:36:19Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = West Waterfront |image = [[File:West Waterfront.jpg|280px]] |release = |premium = |episode = }} The '''West Waterfront''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:27 / 1:41.|name=|group=}} It connects to the [[Central Waterfront]] to the east and [[Sea Road]] to the west. ==References== {{Reflist}} f158ab2f565c8ceed5ed2aa78cacb78fe0c19b69 Sea Road 0 813 2026 1867 2024-04-10T18:37:01Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = Sea Road |image = [[File:Sea Road.jpg|280px]] |release = |premium = |episode = }} The '''Sea Road''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:37 / 1:41.|name=|group=}} It connects to the [[West Waterfront]] to the east and [[East Beach]] to the south. ==References== {{Reflist}} f606c46e14c9747d94b25fa47c0bb9ea19db90cc East Beach 0 814 2027 1868 2024-04-10T18:37:55Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = East Beach |image = [[File:East Beach.jpg|280px]] |release = |premium = |episode = }} The '''East Beach''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:39 / 1:41.|name=|group=}} It connects to [[Sea Road]] in the north and the [[Seashells Seashore]] to the west. ==References== {{Reflist}} 3dc95a839873aa2df0651c1edd9fa0849b7d3a9e Seashells Seashore 0 815 2028 1869 2024-04-10T18:40:13Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = Seashells Seashore |image = [[File:Seashells Seashore.jpg|280px]] |release = |premium = |episode = }} '''Seashells Seashore''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:49 / 1:41.|name=|group=}} It connects to the [[East Beach]] in the east and the [[Jellyfish Landing]] in the west. [[Shell]]s and a [[Rock Pool]] can be found on the beach. ==Trivia== * This location is most likely named after the well-known {{wp|tongue twister}} "she sells seashells by the seashore". ==References== {{Reflist}} 828b02151d8cef1264700ec40da971280ddfa076 Jellyfish Landing 0 816 2029 1870 2024-04-10T18:41:19Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = Jellyfish Landing |image = [[File:Jellyfish Landing.jpg|280px]] |release = |premium = |episode = }} '''Jellyfish Landing''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:56 / 1:41.|name=|group=}} It connects to the [[Fallen Monument]] in the north and the [[Seashell Seashore]] in the east. [[Jellyfish]] can be found in the waters of the beach. ==References== {{Reflist}} 6facf34a756759950eebda76d9db761c27851204 2030 2029 2024-04-10T18:41:37Z InvalidCards 4 +s wikitext text/x-wiki {{Infobox Location |name = Jellyfish Landing |image = [[File:Jellyfish Landing.jpg|280px]] |release = |premium = |episode = }} '''Jellyfish Landing''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:56 / 1:41.|name=|group=}} It connects to the [[Fallen Monument]] in the north and the [[Seashells Seashore]] in the east. [[Jellyfish]] can be found in the waters of the beach. ==References== {{Reflist}} e9b8afee1cc9b73a094f9b5308f3c493a6dfca23 File:Skeleton platebody.png 6 746 2031 1381 2024-04-10T18:42:10Z Sam 60 Sam uploaded a new version of [[File:Skeleton platebody.png]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] d8f86345b82132b6d2bf82675e4f6d8b3c07f303 2032 2031 2024-04-10T18:42:21Z Sam 60 transparent wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] 99d9f9fa3ca48d11e5091632aca75953885232f9 File:Sword.png 6 739 2033 1374 2024-04-10T18:42:43Z Sam 60 Sam uploaded a new version of [[File:Sword.png]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] d8f86345b82132b6d2bf82675e4f6d8b3c07f303 2035 2033 2024-04-10T18:42:56Z Sam 60 wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] 99d9f9fa3ca48d11e5091632aca75953885232f9 Fallen Monument 0 817 2034 1871 2024-04-10T18:42:51Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = Fallen Monument |image = [[File:Fallen Monument.jpg|280px]] |release = |premium = |episode = }} The '''Fallen Monument''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:03 / 1:41.|name=|group=}} It connects to the [[Crater]] in the north and the [[Jellyfish Landing]] in the south. [[Carnivorous Plant]]s can be found throughout the area. ==References== {{Reflist}} 78b5594de479b7b377044215b883b1e6b95986fa Crater 0 820 2036 1872 2024-04-10T18:43:47Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = Crater |image = [[File:Crater.jpg|280px]] |release = |premium = |episode = }} The '''Crater''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:23 / 1:41.|name=|group=}} It connects to the [[Wasteland]] in the north and the [[Fallen Monument]] in the south. [[Giant Ant]]s and [[Hogberries]] can be found in the Crater. Four [[Monument Piece]]s are placed throughout the area. ==References== {{Reflist}} 505427a94e11fefa96bed0031fa2b7695ac6e029 Wasteland 0 822 2037 1873 2024-04-10T18:44:18Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = Wasteland |image = [[File:Wasteland.jpg|280px]] |release = |premium = |episode = }} The '''Wasteland''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:34 / 1:41.|name=|group=}} It connects to the [[Crater]] in the south. ==References== {{Reflist}} 6cf8db8b3f57495c1cbaa9f16ba1af0db92a30ef Module:Infobox Monster 828 853 2038 1981 2024-04-10T18:47:13Z InvalidCards 4 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Monster', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, {name = 'level', func = parse.number}, -- TODO - same as below {name = 'hp', func = parse.number}, -- TODO - move to Module:Param Parse once more details are available, and create smw_property parse.variant, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Level]]', colspan="6"}, {tag='td', content=Infobox.param('level'), colspan="14"} } :add_row{ {tag='th', content='[[Health]]', colspan="6"}, {tag='td', content=Infobox.param('hp'), colspan="14"}, } :add_row{ {tag='th', content='[[Variant]] of', colspan="6"}, {tag='td', content=Infobox.param('variant'), colspan="14"}, } :pad(20) return infobox end return p 54af462ec6ca741859da83bde3cd1cb9792fc9ce Grumpy Pirate 0 450 2039 1984 2024-04-10T18:47:56Z InvalidCards 4 +level wikitext text/x-wiki {{Infobox Monster |name = Grumpy Pirate |image = |release = Q3 2024 |episode = |premium = |level = 49 |hp = |variant = [[Pirate]] }} '''Grumpy Pirate''' is a [[monster]] located in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|notes=|name=}} ==References== {{Reflist}} 7ca5415172716ce5b47afc1cfdac9d66d64b8700 Jellyfish 0 848 2040 1917 2024-04-10T18:48:50Z Sam 60 wikitext text/x-wiki {{Interactcategory|name=Jellyfish|type=[[monster]]}} *[[Tiderider]] d4c63348ad1d17945d56e5a33581967a4113aeb4 Carnivorous Plant 0 876 2041 2024-04-10T18:49:50Z InvalidCards 4 Created page with "{{Interactcategory|name=Carnivorous Plants|type=[[monster]]}} * [[Greenlid Carnivorous Plant]]" wikitext text/x-wiki {{Interactcategory|name=Carnivorous Plants|type=[[monster]]}} * [[Greenlid Carnivorous Plant]] 8251b29fe9e4c7730156c55221cef1943eb9ecc2 Greenlid Carnivorous Plant 0 859 2042 1943 2024-04-10T18:50:08Z InvalidCards 4 InvalidCards moved page [[Greenlid]] to [[Greenlid Carnivorous Plant]] without leaving a redirect: Full name wikitext text/x-wiki {{Infobox Monster |name = Greenlid |image = [[File:Greenlid.PNG]] |release = Q3 2024 |episode = |premium = |hp = }} '''Greenlids''' are monsters found by the [[Fallen Monument]]. They are part of the [[Carnivorous Plant]] category. 0c125fe8d27b54d62d4e9d3c6bd03e3fb52d32ac 2044 2042 2024-04-10T18:51:54Z InvalidCards 4 wikitext text/x-wiki {{Infobox Monster |name = Greenlid |image = [[File:Greenlid Carnivorous Plant.png]] |release = Q3 2024 |episode = |premium = |level = 12 |hp = |variant = [[Carnivorous Plant]] }} '''Greenlid Carnivorous Plants''' are monsters found by the [[Fallen Monument]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:03 / 1:41.|name=|group=}} ==References== {{Reflist}} 0e27bcc82776676bafa841200cda798ff378abd9 File:Greenlid Carnivorous Plant.png 6 860 2043 1942 2024-04-10T18:50:37Z InvalidCards 4 InvalidCards moved page [[File:Greenlid.PNG]] to [[File:Greenlid Carnivorous Plant.png]] without leaving a redirect: Full name wikitext text/x-wiki == Summary == A Greenlid monster 7c94bb88d44dfd0357d6248b6cfa1544a7741909 File:Steel legs.png 6 745 2045 1380 2024-04-10T18:52:18Z Sam 60 Sam uploaded a new version of [[File:Steel legs.png]] wikitext text/x-wiki == Summary == {{Transparency}} Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] d8f86345b82132b6d2bf82675e4f6d8b3c07f303 2046 2045 2024-04-10T18:52:25Z Sam 60 wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Equipment images]] 99d9f9fa3ca48d11e5091632aca75953885232f9 File:Drone Giant Ant.png 6 877 2047 2024-04-10T18:55:41Z Sam 60 Drone variant wikitext text/x-wiki == Summary == Drone variant 2aa93d4b76456e909169598bdac89a74dc7c8738 2051 2047 2024-04-10T18:59:41Z InvalidCards 4 InvalidCards moved page [[File:Drone.PNG]] to [[File:Drone Giant Ant.png]] without leaving a redirect wikitext text/x-wiki == Summary == Drone variant 2aa93d4b76456e909169598bdac89a74dc7c8738 Pearlcap Crab 0 878 2048 2024-04-10T18:56:49Z InvalidCards 4 Created page with "{{Infobox Monster |name = Grumpy Pirate |image = |release = Q3 2024 |episode = |premium = |level = 30 |hp = |variant = [[Crab]] }} '''Grumpy Pirate''' is a [[monster]] located on the [[East Beach]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampo..." wikitext text/x-wiki {{Infobox Monster |name = Grumpy Pirate |image = |release = Q3 2024 |episode = |premium = |level = 30 |hp = |variant = [[Crab]] }} '''Grumpy Pirate''' is a [[monster]] located on the [[East Beach]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:39 / 1:41.|name=|group=}} ==References== {{Reflist}} 7ab151a010ceaf4161360a4ed1338c51673fde99 Crab 0 879 2049 2024-04-10T18:57:15Z InvalidCards 4 Created page with "{{Interactcategory|name=Crabs|type=[[monster]]}} * [[Pearlcap Crab]]" wikitext text/x-wiki {{Interactcategory|name=Crabs|type=[[monster]]}} * [[Pearlcap Crab]] 0156c9569c29203b354f257cdb69659d1d43ee25 Template:Infobox Monster/doc 10 855 2050 1914 2024-04-10T18:58:12Z InvalidCards 4 wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the monster. ===image=== The image of the monster. ===release=== The release date of the monster. ===premium=== Whether or not this monster requires a [[premium pass]]. ===episode=== The episode of the monster. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ===level=== The level of the monster. ===hp=== The health of the monster. ===variant=== What base category the monster is a variant of. ==Quick copy== <pre>{{Infobox NPC |name = |image = |release = |premium = |episode = |level = |hp = |variant = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> 115c7cbee1d47df292d458c4371fa6c8ab05ab3d Drone Giant Ant 0 880 2052 2024-04-10T19:00:52Z Sam 60 created page wikitext text/x-wiki {{Infobox Monster |name = Drone |image = [[File:Drone_Giant_Ant.png]] |release = Q3 2024 |episode = |premium = |level = 44 |hp = |variant = [[Giant Ant]] }} ==References== {{Reflist}} ae832aac4f49183c1e9ade22e36f57c16c5aa84e Giant Ant 0 881 2053 2024-04-10T19:01:48Z Sam 60 created page wikitext text/x-wiki {{Interactcategory|name=Giant Ants|type=[[monster]]}} * [[Drone Giant Ant]] 24086a96c7214bd7da4c0a08f53641c97d0c96dd Drone Giant Ant 0 880 2054 2052 2024-04-10T19:04:33Z Sam 60 wikitext text/x-wiki {{Infobox Monster |name = Drone |image = [[File:Drone_Giant_Ant.png]] |release = Q3 2024 |episode = |premium = |level = 44 |hp = |variant = [[Giant Ant]] }} '''Drone Giant Ants''' are monsters found in the [[Crater]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:30 / 1:41.|name=|group=}} ==References== {{Reflist}} 8e44e9cd810fad68e2e4b2843e021b639242dbb2 2078 2054 2024-04-10T19:14:45Z InvalidCards 4 wikitext text/x-wiki {{Infobox Monster |name = Drone |image = [[File:Drone_Giant_Ant.png]] |release = Q3 2024 |episode = |premium = |level = 44 |hp = |variant = [[Giant Ant]] |passive = Yes }} '''Drone Giant Ants''' are monsters found in the [[Crater]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:30 / 1:41.|name=|group=}} ==References== {{Reflist}} d8d87f08499e9033c3f31b1ed5885482bdc78ae0 File:Passive activity icon.png 6 882 2055 2024-04-10T19:04:59Z InvalidCards 4 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Professions 0 56 2056 1475 2024-04-10T19:06:17Z InvalidCards 4 /* Passive training */ wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. Most professions can either be trained by the player actively playing the game, or passively while the game is closed. As the player progresses through the game, more professions will become available for the player to learn. Players aren't limited to one profession at a time; they can utilise multiple at once.{{CiteGeneral|url=https://www.gamesradar.com/runescape-creator-answers-our-biggest-questions-about-his-new-mmo-brighter-shores-classes-professions-monetization-and-a-ttrpg-open-world/|title=RuneScape creator answers our biggest questions about his new MMO Brighter Shores: classes, professions, monetization, and a TTRPG open world|author=Austin Wood|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/AxMwI|archivedate=23 March 2024|name=griv}} ==Passive training== Unlike other similar MMOs, players can continue to perform certain profession-related activities while logged out of the game. Activities eligible for passive training are marked with a moon icon [[File:Passive activity icon.png|18px]]. ==List of professions== {| class="wikitable" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | [[File:Woodcutter icon.png|30px|link=Woodcutter]] || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | [[File:Profession alchemist.png|30px|link=Alchemist]] || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery mode="packed" heights="160"> File:Professions preview 1.jpg|Fisher, Forager, Chef File:Professions preview 2.jpg|Woodcutter, Miner, Alchemist File:Professions preview 3.jpg|Stonemason, Merchant, Blacksmith </gallery> ==References== {{Reflist}} {{Professions}} {{Mechanics}} 35aad2932776f15eeed3f6dc0a68bbb24a31175a Module:Param Parse 828 673 2057 1982 2024-04-10T19:07:52Z InvalidCards 4 Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Generic functions -- ----------------------- -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] ~= nil then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end -- Premade Params -- -------------------- -- Standardized name function parse.name = { name = 'name', func = parse.has_content, smw_property = 'Name', } -- Standardized image function function parse.image_func(img) if img and string.match(img, '%[%[File:.*%]%]') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.*%.%w%w%w") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image', } -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode_func(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end parse.episode = { name = 'episode', func = parse.episode_func, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Needs episode', } -- Premium parse.premium = { name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no, category_incomplete = 'Needs premium status', } -- Release (TODO) parse.release = { name = 'release', func = parse.has_content, } -- Profession (TODO) parse.profession = { name = 'profession', func = parse.has_content, category_incomplete = 'Needs profession', smw_property = 'Profession' -- TODO - Need to create property page } parse.variant = { name = 'variant', func = parse.has_content, category_incomplete = 'Needs variant details', smw_property = 'Variant of' -- TODO - Need to create property page } parse.passive = { name = 'passive', func = parse.yes_no, smw_property = 'Passive', smw_func = parse.yes_no, category_incomplete = 'Needs passiveness' } return parse -- </nowiki> 7a307a8fb46b5edd36c0d017d598ab9acacc76cf File:Eel Street Bridge.jpg 6 883 2058 2024-04-10T19:08:02Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2059 2058 2024-04-10T19:08:12Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1776276857706479810}} 2d80bc546769443ab1e88c27592359609c85832a Module:Infobox Monster 828 853 2060 2038 2024-04-10T19:08:49Z InvalidCards 4 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Monster', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, {name = 'level', func = parse.number}, -- TODO - same as below {name = 'hp', func = parse.number}, -- TODO - move to Module:Param Parse once more details are available, and create smw_property parse.variant, parse.passive, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Level]]', colspan="6"}, {tag='td', content=Infobox.param('level'), colspan="14"} } :add_row{ {tag='th', content='[[Health]]', colspan="6"}, {tag='td', content=Infobox.param('hp'), colspan="14"}, } :add_row{ {tag='th', content='[[Variant]] of', colspan="6"}, {tag='td', content=Infobox.param('variant'), colspan="14"}, } :add_row{ {tag='th', content='[[File:Passive activity icon.png|14px]] [[Passive activity]]', colspan="6"}, {tag='td', content=Infobox.param('passive'), colspan="14"}, } :pad(20) return infobox end return p 7b0a97a3303034abb547d4898a435cb1c9e14a9c 2061 2060 2024-04-10T19:09:17Z InvalidCards 4 too big! Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Monster', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, {name = 'level', func = parse.number}, -- TODO - same as below {name = 'hp', func = parse.number}, -- TODO - move to Module:Param Parse once more details are available, and create smw_property parse.variant, parse.passive, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Level]]', colspan="6"}, {tag='td', content=Infobox.param('level'), colspan="14"} } :add_row{ {tag='th', content='[[Health]]', colspan="6"}, {tag='td', content=Infobox.param('hp'), colspan="14"}, } :add_row{ {tag='th', content='[[Variant]] of', colspan="6"}, {tag='td', content=Infobox.param('variant'), colspan="14"}, } :add_row{ {tag='th', content='[[File:Passive activity icon.png|14px]] [[Passive activity|Passive]]', colspan="6"}, {tag='td', content=Infobox.param('passive'), colspan="14"}, } :pad(20) return infobox end return p 640bc3804ab2961ffbe921dcff108b92a5cc0f13 2064 2061 2024-04-10T19:09:45Z InvalidCards 4 link icon as well Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Monster', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, {name = 'level', func = parse.number}, -- TODO - same as below {name = 'hp', func = parse.number}, -- TODO - move to Module:Param Parse once more details are available, and create smw_property parse.variant, parse.passive, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Level]]', colspan="6"}, {tag='td', content=Infobox.param('level'), colspan="14"} } :add_row{ {tag='th', content='[[Health]]', colspan="6"}, {tag='td', content=Infobox.param('hp'), colspan="14"}, } :add_row{ {tag='th', content='[[Variant]] of', colspan="6"}, {tag='td', content=Infobox.param('variant'), colspan="14"}, } :add_row{ {tag='th', content='[[File:Passive activity icon.png|14px|link=Passive activity]] [[Passive activity|Passive]]', colspan="6"}, {tag='td', content=Infobox.param('passive'), colspan="14"}, } :pad(20) return infobox end return p cb32d3e980e06afa803352b79437ec537e426a18 File:Eel Street.jpg 6 884 2062 2024-04-10T19:09:29Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2063 2062 2024-04-10T19:09:38Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1776276857706479810}} 2d80bc546769443ab1e88c27592359609c85832a Template:Infobox Monster/doc 10 855 2065 2050 2024-04-10T19:10:34Z InvalidCards 4 wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the monster. ===image=== The image of the monster. ===release=== The release date of the monster. ===premium=== Whether or not this monster requires a [[premium pass]]. ===episode=== The episode of the monster. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ===level=== The level of the monster. ===hp=== The health of the monster. ===variant=== What base category the monster is a variant of. ===passive=== Whether or not the monster is passively fightable, indicated by a moon icon [[File:Passive activity icon.png|18px]]. ==Quick copy== <pre>{{Infobox NPC |name = |image = |release = |premium = |episode = |level = |hp = |variant = |passive = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> c9c08791c532966557e4a31cd8a6a5b4510a5c5d File:Central Waterfront.jpg 6 885 2066 2024-04-10T19:10:53Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2067 2066 2024-04-10T19:11:00Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1776276857706479810}} 2d80bc546769443ab1e88c27592359609c85832a Pearlcap Crab 0 878 2068 2048 2024-04-10T19:12:02Z InvalidCards 4 wikitext text/x-wiki {{Infobox Monster |name = Grumpy Pirate |image = |release = Q3 2024 |episode = |premium = |level = 30 |hp = |variant = [[Crab]] |passive = Yes }} '''Grumpy Pirate''' is a [[monster]] located on the [[East Beach]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:39 / 1:41.|name=|group=}} ==References== {{Reflist}} 0dc65ca449a98e25dfaa08bcad9ea5745fdbc41b 2086 2068 2024-04-10T19:17:26Z InvalidCards 4 wikitext text/x-wiki {{Infobox Monster |name = Grumpy Pirate |image = |release = Q3 2024 |episode = |premium = |level = 30 |hp = |variant = [[Crab]] |passive = Yes }} '''Pearlcap Crabs''' are [[monster]]s located on the [[East Beach]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:39 / 1:41.|name=|group=}} ==References== {{Reflist}} 29722047cd1327e931a0162852636671a96fe529 Monsters 0 377 2069 1944 2024-04-10T19:12:44Z Sam 60 /* Categories */ wikitext text/x-wiki '''Monsters''' are creatures in [[Brighter Shores]] that can be attacked. They are fought in [[combat]] for their loot, including valuable currency items. There are many monsters in Brighter Shores, including: * [[Firetoad]] * [[Mawchest]] * [[Punkupine]] * [[Slime Fiend]] * [[Sneaky Thief]] * [[Wailing Shade]] ==Categories== * [[Carnivorous Plant]] * [[Crab]] * [[Giant Ant]] * [[Jellyfish]] * [[Pirate]] {{Mechanics}} 0a36a75d641c39a7c37b18e4a41bc0b383201378 Tiderider Jellyfish 0 849 2070 1945 2024-04-10T19:12:52Z InvalidCards 4 InvalidCards moved page [[Tiderider]] to [[Tiderider Jellyfish]] without leaving a redirect wikitext text/x-wiki {{Infobox Monster |name = Tiderider |image = [[File:Tiderider.PNG]] |release = Q3 2024 |episode = Hopeport |premium = No |hp = }} '''Tiderider''' is a [[monster]] located in [[Jellyfish Landing]]. It is part of the [[Jellyfish]] category. 8405c8f0a210a59cd625cc6508ec3ef350ea72c0 2074 2070 2024-04-10T19:13:39Z InvalidCards 4 wikitext text/x-wiki {{Infobox Monster |name = Tiderider |image = [[File:Tiderider.PNG]] |release = Q3 2024 |episode = Hopeport |premium = |level = 39 |hp = |variant = [[Jellyfish]] |passive = Yes }} '''Tiderider''' is a [[monster]] located in [[Jellyfish Landing]]. It is part of the [[Jellyfish]] category. c10e9a6c671a266c63dafbe423919ee3308e971e File:West Waterfront.jpg 6 886 2071 2024-04-10T19:12:54Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2072 2071 2024-04-10T19:13:01Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1776276857706479810}} 2d80bc546769443ab1e88c27592359609c85832a Jellyfish 0 848 2073 2040 2024-04-10T19:13:04Z InvalidCards 4 wikitext text/x-wiki {{Interactcategory|name=Jellyfish|type=[[monster]]}} *[[Tiderider Jellyfish]] 7ac7349cf1b01c9ee0badcd9a5f0e57feb88b13c Greenlid Carnivorous Plant 0 859 2075 2044 2024-04-10T19:14:06Z InvalidCards 4 wikitext text/x-wiki {{Infobox Monster |name = Greenlid |image = [[File:Greenlid Carnivorous Plant.png]] |release = Q3 2024 |episode = |premium = |level = 12 |hp = |variant = [[Carnivorous Plant]] |passive = No }} '''Greenlid Carnivorous Plants''' are monsters found by the [[Fallen Monument]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:03 / 1:41.|name=|group=}} ==References== {{Reflist}} c202b62897e71abdbceb17ed895f0e926030a730 File:Sea Road.jpg 6 887 2076 2024-04-10T19:14:14Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2077 2076 2024-04-10T19:14:22Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1776276857706479810}} 2d80bc546769443ab1e88c27592359609c85832a File:Punkupine.png 6 888 2079 2024-04-10T19:14:47Z Sam 60 Punkupine wikitext text/x-wiki == Summary == Punkupine b734af889a6137e557bf0cd33345c96242f69733 Grumpy Pirate 0 450 2080 2039 2024-04-10T19:15:16Z InvalidCards 4 wikitext text/x-wiki {{Infobox Monster |name = Grumpy Pirate |image = |release = Q3 2024 |episode = |premium = |level = 49 |hp = |variant = [[Pirate]] |passive = Yes }} '''Grumpy Pirate''' is a [[monster]] located in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|notes=|name=}} ==References== {{Reflist}} 70187533a52cc658482404b08cb89bc8ea579202 File:East Beach.jpg 6 889 2081 2024-04-10T19:15:28Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2082 2081 2024-04-10T19:15:35Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1776276857706479810}} 2d80bc546769443ab1e88c27592359609c85832a Punkupine 0 446 2083 1921 2024-04-10T19:16:05Z Sam 60 wikitext text/x-wiki {{Infobox Monster |name = Punkupine |image = [[File:Punkupine.PNG]] |release = Q3 2024 |episode = |premium = |level = |hp = |variant = |passive = }} '''Punkupine''' is a [[monster]]. 469c870355ae13811bf7f58e30295e891ef490ed File:Seashells Seashore.jpg 6 890 2084 2024-04-10T19:17:02Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2085 2084 2024-04-10T19:17:07Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1776276857706479810}} 2d80bc546769443ab1e88c27592359609c85832a File:Jellyfish Landing.jpg 6 891 2087 2024-04-10T19:18:08Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2088 2087 2024-04-10T19:18:17Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1776276857706479810}} 2d80bc546769443ab1e88c27592359609c85832a File:Slime fiend.png 6 892 2089 2024-04-10T19:19:38Z Sam 60 Slime Fiend wikitext text/x-wiki == Summary == Slime Fiend 93eede71692fd8687446806d13c7443c1551ca72 Slime Fiend 0 447 2090 1922 2024-04-10T19:20:34Z Sam 60 wikitext text/x-wiki {{Infobox Monster |name = Slime Fiend |image = [[File:Slime_Fiend.PNG]] |release = Q3 2024 |episode = |premium = |level = |hp = |variant = |passive = }} '''Slime Fiend''' is a [[monster]]. 04a417dc2cb18965e6f95cba9fc943913d076c63 2091 2090 2024-04-10T19:20:49Z Sam 60 wikitext text/x-wiki {{Infobox Monster |name = Slime Fiend |image = [[File:Slime Fiend.PNG]] |release = Q3 2024 |episode = |premium = |level = |hp = |variant = |passive = }} '''Slime Fiend''' is a [[monster]]. 8d6268a829164ed50a2c35b30e1af4fde2281967 2094 2091 2024-04-10T19:21:30Z Sam 60 wikitext text/x-wiki {{Infobox Monster |name = Slime Fiend |image = [[File:Slime fiend.PNG]] |release = Q3 2024 |episode = |premium = |level = |hp = |variant = |passive = }} '''Slime Fiend''' is a [[monster]]. ea2f3c0282e8c7fa705bb63b9d5022264fb67a20 File:Fallen Monument.jpg 6 893 2092 2024-04-10T19:21:20Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2093 2092 2024-04-10T19:21:28Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1776276857706479810}} 2d80bc546769443ab1e88c27592359609c85832a File:Crater.jpg 6 894 2095 2024-04-10T19:22:37Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2096 2095 2024-04-10T19:22:45Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1776276857706479810}} 2d80bc546769443ab1e88c27592359609c85832a Monument Piece 0 895 2097 2024-04-10T19:22:50Z InvalidCards 4 Created page with "{{Interactcategory|name=Monument Pieces|type=[[Forager]] interactables}} * [[Huge Monument Piece]]" wikitext text/x-wiki {{Interactcategory|name=Monument Pieces|type=[[Forager]] interactables}} * [[Huge Monument Piece]] 75b0bc5c3d7809461bf3de5bb138d519037dd366 File:Wasteland.jpg 6 896 2098 2024-04-10T19:24:10Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2100 2098 2024-04-10T19:24:18Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1776276857706479810}} 2d80bc546769443ab1e88c27592359609c85832a Huge Monument Piece 0 897 2099 2024-04-10T19:24:17Z InvalidCards 4 Created page with "'''Huge Monument Pieces''' are [[Forager]] interactables and [[variant]]s of the [[Monument Piece]] that can be found in the [[Crater]] and the [[Wasteland]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Qui..." wikitext text/x-wiki '''Huge Monument Pieces''' are [[Forager]] interactables and [[variant]]s of the [[Monument Piece]] that can be found in the [[Crater]] and the [[Wasteland]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|name=|group=}} ==References== {{Reflist}} 4c9ceb925c4bac25fecc1c2a0c2119f8677535f7 Crater 0 820 2101 2036 2024-04-10T19:24:34Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = Crater |image = [[File:Crater.jpg|280px]] |release = |premium = |episode = }} The '''Crater''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:23 / 1:41.|name=|group=}} It connects to the [[Wasteland]] in the north and the [[Fallen Monument]] in the south. [[Giant Ant]]s and [[Hogberries]] can be found in the Crater. Four [[Huge Monument Piece]]s are placed throughout the area. ==References== {{Reflist}} 3f63c1a175b258ca539068427470956b044d8ee0 Wasteland 0 822 2102 2037 2024-04-10T19:24:53Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = Wasteland |image = [[File:Wasteland.jpg|280px]] |release = |premium = |episode = }} The '''Wasteland''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:34 / 1:41.|name=|group=}} It connects to the [[Crater]] in the south. Several [[Huge Monument Piece]]s are placed in the area. ==References== {{Reflist}} be5877cf3ca894c103774b52858834c4a0f3dd15 File:Miner.png 6 898 2103 2024-04-10T19:28:08Z Sam 60 Mining snippet wikitext text/x-wiki == Summary == Mining snippet 1acbc6f70d88fdb95df00ba2157dc9ed1bfb44a1 Miner 0 62 2104 1172 2024-04-10T19:29:41Z Sam 60 wikitext text/x-wiki {{Infobox Profession |name = Miner |image = }} [[File:Miner.PNG|thumb|right|A player mining.]] '''Miner''' is a type of [[professions|profession]] specialising in collecting [[minerals]]. {{Professions}} 15580861d8205357753a1bb9fb550c0bcce92ef4 2106 2104 2024-04-10T19:33:18Z InvalidCards 4 wikitext text/x-wiki {{Infobox Profession |name = Miner |image = }} [[File:Miner.png|thumb|right|A player mining.]] '''Miner''' is a type of [[professions|profession]] specialising in collecting [[minerals]]. {{Professions}} 3864ac7aa8cd3c8cf4e2f467a6d5617a982d90d4 File:Miner.png 6 898 2105 2103 2024-04-10T19:33:02Z InvalidCards 4 InvalidCards moved page [[File:Miner.PNG]] to [[File:Miner.png]] without leaving a redirect: small extension wikitext text/x-wiki == Summary == Mining snippet 1acbc6f70d88fdb95df00ba2157dc9ed1bfb44a1 File:Punkupine.png 6 888 2107 2079 2024-04-10T19:34:29Z InvalidCards 4 InvalidCards moved page [[File:Punkupine.PNG]] to [[File:Punkupine.png]] without leaving a redirect: small extension wikitext text/x-wiki == Summary == Punkupine b734af889a6137e557bf0cd33345c96242f69733 Punkupine 0 446 2108 2083 2024-04-10T19:34:42Z InvalidCards 4 wikitext text/x-wiki {{Infobox Monster |name = Punkupine |image = [[File:Punkupine.png]] |release = Q3 2024 |episode = |premium = |level = |hp = |variant = |passive = }} '''Punkupine''' is a [[monster]]. b59b77737c793a8b229ad046047545da2b7a4347 File:Slime fiend.png 6 892 2109 2089 2024-04-10T19:35:02Z InvalidCards 4 InvalidCards moved page [[File:Slime fiend.PNG]] to [[File:Slime fiend.png]] without leaving a redirect: small extension wikitext text/x-wiki == Summary == Slime Fiend 93eede71692fd8687446806d13c7443c1551ca72 Slime Fiend 0 447 2110 2094 2024-04-10T19:35:14Z InvalidCards 4 wikitext text/x-wiki {{Infobox Monster |name = Slime Fiend |image = [[File:Slime fiend.png]] |release = Q3 2024 |episode = |premium = |level = |hp = |variant = |passive = }} '''Slime Fiend''' is a [[monster]]. 2230c2d378fb56d63b89c94c93e4fb01d4aa0b0d File:Tiderider.png 6 850 2111 1895 2024-04-10T19:35:36Z InvalidCards 4 InvalidCards moved page [[File:Tiderider.PNG]] to [[File:Tiderider.png]] without leaving a redirect: small extension wikitext text/x-wiki == Summary == Tiderider Jellyfish 97cf1d0154f2f846ccd9370e7e8aacd0448765db Tiderider Jellyfish 0 849 2112 2074 2024-04-10T19:35:48Z InvalidCards 4 wikitext text/x-wiki {{Infobox Monster |name = Tiderider |image = [[File:Tiderider.png]] |release = Q3 2024 |episode = Hopeport |premium = |level = 39 |hp = |variant = [[Jellyfish]] |passive = Yes }} '''Tiderider''' is a [[monster]] located in [[Jellyfish Landing]]. It is part of the [[Jellyfish]] category. 3c5d98b9ae46a208dc98f22976588a7723fd2b5c Module:Infobox Interactable 828 899 2113 2024-04-10T19:39:53Z InvalidCards 4 Created page with "local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Interactable', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, parse.profession, {name = 'level', func = parse.number}, -- TODO - move to Module:Param Parse once more details are available, and create smw_property p..." Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Interactable', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, parse.profession, {name = 'level', func = parse.number}, -- TODO - move to Module:Param Parse once more details are available, and create smw_property parse.variant, parse.passive, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='[[Level]]', colspan="6"}, {tag='td', content=Infobox.param('level'), colspan="14"} } :add_row{ {tag='th', content='[[Profession]]', colspan="6"}, {tag='td', content=Infobox.param('profession'), colspan="14"}, } :add_row{ {tag='th', content='[[Variant]] of', colspan="6"}, {tag='td', content=Infobox.param('variant'), colspan="14"}, } :add_row{ {tag='th', content='[[File:Passive activity icon.png|14px|link=Passive activity]] [[Passive activity|Passive]]', colspan="6"}, {tag='td', content=Infobox.param('passive'), colspan="14"}, } :pad(20) return infobox end return p c38777e09505f7841656488b6f4bcb029606823c Module:Infobox Interactable/doc 828 900 2114 2024-04-10T19:40:14Z InvalidCards 4 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Template:Infobox Interactable 10 901 2115 2024-04-10T19:40:44Z InvalidCards 4 Created page with "{{#invoke:Infobox Interactable|main}}{{Mainonly|[[Category:Interactable]]}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{#invoke:Infobox Interactable|main}}{{Mainonly|[[Category:Interactable]]}}<noinclude>{{/doc}}</noinclude> ee20840d0ee496fffcff6be013b98efa8002820f 2126 2115 2024-04-10T19:51:12Z InvalidCards 4 wikitext text/x-wiki {{#invoke:Infobox Interactable|main}}{{Mainonly|[[Category:Interactables]]}}<noinclude>{{/doc}}</noinclude> bfb38c3c809a3fdfe4958536d9da8ed69fcf8a8d Template:Infobox Interactable/doc 10 902 2116 2024-04-10T19:42:17Z InvalidCards 4 Created page with "{{Documentation}} ==Parameters== ===name=== The name of the interactable. ===image=== The image of the interactable. ===release=== The release date of the interactable. ===premium=== Whether or not this interactable requires a [[premium pass]]. ===episode=== The episode of the interactable. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ===profession=== The profession used for the interactable. ===level=== The level of the interactable. ===varia..." wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the interactable. ===image=== The image of the interactable. ===release=== The release date of the interactable. ===premium=== Whether or not this interactable requires a [[premium pass]]. ===episode=== The episode of the interactable. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ===profession=== The profession used for the interactable. ===level=== The level of the interactable. ===variant=== What base category the interactable is a variant of. ===passive=== Whether or not the interactable is passive, indicated by a moon icon [[File:Passive activity icon.png|18px]]. ==Quick copy== <pre>{{Infobox Interactable |name = |image = |release = |premium = |episode = |profession = |hp = |variant = |passive = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> 2cbb514a7f521edcc07074ccd4b8fc9173f04fbf 2118 2116 2024-04-10T19:43:07Z InvalidCards 4 wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the interactable. ===image=== The image of the interactable. ===release=== The release date of the interactable. ===premium=== Whether or not this interactable requires a [[premium pass]]. ===episode=== The episode of the interactable. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ===profession=== The profession used for the interactable. ===level=== The level of the interactable. ===variant=== What base category the interactable is a variant of. ===passive=== Whether or not the interactable is passive, indicated by a moon icon [[File:Passive activity icon.png|18px]]. ==Quick copy== <pre>{{Infobox Interactable |name = |image = |release = |premium = |episode = |profession = |level = |variant = |passive = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> 41d709a960e3db6b7b7d78b21d4cd032d4e3db2c Template:Infobox Monster/doc 10 855 2117 2065 2024-04-10T19:42:34Z InvalidCards 4 fix typo wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the monster. ===image=== The image of the monster. ===release=== The release date of the monster. ===premium=== Whether or not this monster requires a [[premium pass]]. ===episode=== The episode of the monster. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ===level=== The level of the monster. ===hp=== The health of the monster. ===variant=== What base category the monster is a variant of. ===passive=== Whether or not the monster is passively fightable, indicated by a moon icon [[File:Passive activity icon.png|18px]]. ==Quick copy== <pre>{{Infobox Monster |name = |image = |release = |premium = |episode = |level = |hp = |variant = |passive = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> 6252368e6bbfb671ef9447ed5278deb1588a72a9 Bladder Wrack 0 873 2119 2002 2024-04-10T19:44:04Z InvalidCards 4 wikitext text/x-wiki {{Infobox Interactable |name = Bladder Wrack |image = |release = |premium = |episode = |profession = [[Forager]] |level = 41 |variant = [[Wrack]] |passive = No }} '''Bladder Wracks''' are a type of [[Forager]] interactable and a [[variant]] of [[Wrack]]s found in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=}} ==References== {{Reflist}} 3c5eccf4c2e8c9aa8214dbbc16d71443d16e37a0 Common Limpet 0 872 2120 2000 2024-04-10T19:44:36Z InvalidCards 4 wikitext text/x-wiki {{Infobox Interactable |name = Common Limpet |image = |release = |premium = |episode = |profession = [[Forager]] |level = 59 |variant = [[Limpet]] |passive = No }} '''Common Limpets''' are a type of [[Forager]] interactable and a [[variant]] of [[Limpet]]s found in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=}} ==References== {{Reflist}} cf2eb60136a79094575504d6d81b6cb966a033d1 Yellowtail Gurnard 0 449 2121 1996 2024-04-10T19:45:34Z InvalidCards 4 wikitext text/x-wiki {{Infobox Interactable |name = Yellowtail Gurnard |image = |release = |premium = |episode = |profession = [[Fisher]] |level = 14 |variant = [[Gurnard]] |passive = No }} '''Yellowtail Gurnards''' are a type of [[fish]] and a [[variant]] of [[Gurnard]]s found in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=}} ==References== {{Reflist}} 079f84a2456384381f54209bcffa6e0e6abeb566 Kelp 0 904 2123 2024-04-10T19:47:14Z InvalidCards 4 Created page with "{{Interactcategory|name=Kelp|type=[[Forager]] interactable}} * [[Brown Kelp]]" wikitext text/x-wiki {{Interactcategory|name=Kelp|type=[[Forager]] interactable}} * [[Brown Kelp]] 0b212d97fc11c12a30667878c5a3b868d604e8cb Brown Kelp 0 905 2124 2024-04-10T19:49:14Z InvalidCards 4 Created page with "{{Infobox Interactable |name = Brown Kelp |image = |release = |premium = |episode = |profession = [[Forager]] |level = 0 |variant = [[Kelp]] |passive = No }} '''Brown Kelp''' is a type of [[Forager]] interactable that can be found on the [[East Beach]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276..." wikitext text/x-wiki {{Infobox Interactable |name = Brown Kelp |image = |release = |premium = |episode = |profession = [[Forager]] |level = 0 |variant = [[Kelp]] |passive = No }} '''Brown Kelp''' is a type of [[Forager]] interactable that can be found on the [[East Beach]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:39 / 1:41.|name=|group=}} ==References== {{Reflist}} 2091da1698d35e7af375dc3d42d8dc7e4c76aeab 2133 2124 2024-04-10T19:57:05Z InvalidCards 4 wikitext text/x-wiki {{Infobox Interactable |name = Brown Kelp |image = |release = |premium = |episode = |profession = [[Forager]] |level = 0 |variant = [[Kelp]] |passive = No }} '''Brown Kelp''' is a type of [[Forager]] interactable that can be found on the [[East Beach]] and the [[Jellyfish Landing]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:39 / 1:41.|name=|group=}} ==References== {{Reflist}} a38b91e1305c4522661449edbf7a92df88d414dd Category:Interactable categories 14 870 2125 1989 2024-04-10T19:50:49Z InvalidCards 4 wikitext text/x-wiki {{Categoryheader|pages|in-game categories of interactable objects}} [[Category:Mechanics]] [[Category:Interactables]] dc0ffa795a4c3af9ae6a4538b1efd36eae1115f4 Category:Interactables 14 906 2127 2024-04-10T19:51:46Z InvalidCards 4 Created page with "{{Categoryheader|pages|skilling interactables}} [[Category:Content]]" wikitext text/x-wiki {{Categoryheader|pages|skilling interactables}} [[Category:Content]] d8b7d444c486a2246c7771c03f6ae9a1610b89cf Shell 0 907 2128 2024-04-10T19:52:26Z InvalidCards 4 Created page with "{{Interactcategory|name=Shells|type=[[Forager]] interactable}} * [[Horn Shell]]" wikitext text/x-wiki {{Interactcategory|name=Shells|type=[[Forager]] interactable}} * [[Horn Shell]] a789bb01e6575c99cc688ab47ea3349d43abc324 Horn Shell 0 908 2129 2024-04-10T19:53:23Z InvalidCards 4 Created page with "{{Infobox Interactable |name = Horn Shell |image = |release = |premium = |episode = |profession = [[Forager]] |level = 6 |variant = [[Shell]] |passive = No }} '''Horn Shells''' are a type of [[Forager]] interactable that can be found on the [[East Beach]] and the [[Seashells Seashore]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitt..." wikitext text/x-wiki {{Infobox Interactable |name = Horn Shell |image = |release = |premium = |episode = |profession = [[Forager]] |level = 6 |variant = [[Shell]] |passive = No }} '''Horn Shells''' are a type of [[Forager]] interactable that can be found on the [[East Beach]] and the [[Seashells Seashore]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:39 / 1:41.|name=|group=}} ==References== {{Reflist}} 971770c46e01d6db97e4472083ea805c256404a8 Rock Pool 0 909 2130 2024-04-10T19:54:53Z InvalidCards 4 Created page with "{{Infobox Interactable |name = Rock Pool |image = |release = |premium = |episode = |profession = [[Forager]] |level = 26 |variant = None |passive = Yes }} '''Rock Pools''' are a type of [[Forager]] interactable that can be found on the [[Seashells Seashore]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1..." wikitext text/x-wiki {{Infobox Interactable |name = Rock Pool |image = |release = |premium = |episode = |profession = [[Forager]] |level = 26 |variant = None |passive = Yes }} '''Rock Pools''' are a type of [[Forager]] interactable that can be found on the [[Seashells Seashore]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:49 / 1:41.|name=|group=}} ==References== {{Reflist}} 30f8483f377ee3564815b2e16ed5dd6b78fd724f 2142 2130 2024-04-10T20:34:58Z Yellowsap 63 wikitext text/x-wiki {{Infobox Interactable |name = Rock Pool |image = [[File:Rock_Pool.png]] |release = |premium = |episode = |profession = [[Forager]] |level = 26 |variant = None |passive = Yes }} '''Rock Pools''' are a type of [[Forager]] interactable that can be found on the [[Seashells Seashore]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:49 / 1:41.|name=|group=}} ==References== {{Reflist}} 9162be1943bd72c3bffb8e4c22a9e7c20470bd49 Starfish 0 910 2131 2024-04-10T19:55:49Z InvalidCards 4 Created page with "{{Interactcategory|name=Starfish|type=[[Forager]] interactable}} * [[Wrinkled Starfish]]" wikitext text/x-wiki {{Interactcategory|name=Starfish|type=[[Forager]] interactable}} * [[Wrinkled Starfish]] a1d5fa93fe66bca1056bf80a4fedd5eba4c0d8ed Wrinkled Starfish 0 911 2132 2024-04-10T19:56:35Z InvalidCards 4 Created page with "{{Infobox Interactable |name = Wrinkled Starfish |image = |release = |premium = |episode = |profession = [[Forager]] |level = 18 |variant = [[Starfish]] |passive = No }} '''Wrinkled Starfish''' are a type of [[Forager]] interactable that can be found on the [[Jellyfish Landing]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/..." wikitext text/x-wiki {{Infobox Interactable |name = Wrinkled Starfish |image = |release = |premium = |episode = |profession = [[Forager]] |level = 18 |variant = [[Starfish]] |passive = No }} '''Wrinkled Starfish''' are a type of [[Forager]] interactable that can be found on the [[Jellyfish Landing]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:56 / 1:41.|name=|group=}} ==References== {{Reflist}} 3a952c43b7460f322d6693623fc598744cb9768b Potato 0 912 2134 2024-04-10T19:57:49Z InvalidCards 4 Created page with "{{Interactcategory|name=Potatoes|type=[[Forager]] interactable}} * [[Piper Potato]]" wikitext text/x-wiki {{Interactcategory|name=Potatoes|type=[[Forager]] interactable}} * [[Piper Potato]] 98b7dd337f5771c2b7fa95909b7540b37c54d21b Piper Potato 0 913 2135 2024-04-10T19:58:33Z InvalidCards 4 Created page with "{{Infobox Interactable |name = Piper Potato |image = |release = |premium = |episode = |profession = [[Forager]] |level = 8 |variant = [[Potato]] |passive = No }} '''Piper Potatoes''' are a type of [[Forager]] interactable that can be found at the [[Fallen Monument]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/..." wikitext text/x-wiki {{Infobox Interactable |name = Piper Potato |image = |release = |premium = |episode = |profession = [[Forager]] |level = 8 |variant = [[Potato]] |passive = No }} '''Piper Potatoes''' are a type of [[Forager]] interactable that can be found at the [[Fallen Monument]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:16 / 1:41.|name=|group=}} ==References== {{Reflist}} 4eb55b1827a7c047ea8551eebf69ba2017b98003 Hogberries 0 914 2136 2024-04-10T19:59:17Z InvalidCards 4 Created page with "{{Interactcategory|name=Hogberries|type=[[Forager]] interactable}} * [[Green Hogberries]]" wikitext text/x-wiki {{Interactcategory|name=Hogberries|type=[[Forager]] interactable}} * [[Green Hogberries]] 0c5abe04ab8a70418eca3c39783d5844b4a9e9d5 Green Hogberries 0 915 2137 2024-04-10T20:00:34Z InvalidCards 4 Created page with "{{Infobox Interactable |name = Green Hogberries |image = |release = |premium = |episode = |profession = [[Forager]] |level = 29 |variant = [[Hogberries]] |passive = No }} '''Green Hogberries''' are a type of [[Forager]] interactable that can be found in the [[Crater]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgowe..." wikitext text/x-wiki {{Infobox Interactable |name = Green Hogberries |image = |release = |premium = |episode = |profession = [[Forager]] |level = 29 |variant = [[Hogberries]] |passive = No }} '''Green Hogberries''' are a type of [[Forager]] interactable that can be found in the [[Crater]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:23 / 1:41.|name=|group=}} ==References== {{Reflist}} 7de03e2fb26a78ebe0c769155a823a3e19ee37fd 2145 2137 2024-04-10T20:40:40Z Yellowsap 63 wikitext text/x-wiki {{Infobox Interactable |name = Green Hogberries |image = [[File:Green_hogberries.png]] |release = |premium = |episode = |profession = [[Forager]] |level = 29 |variant = [[Hogberries]] |passive = No }} '''Green Hogberries''' are a type of [[Forager]] interactable that can be found in the [[Crater]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:23 / 1:41.|name=|group=}} ==References== {{Reflist}} 4b0f6ee855d5cbbe448a0104e9b3807adeeac008 Huge Monument Piece 0 897 2138 2099 2024-04-10T20:01:03Z InvalidCards 4 wikitext text/x-wiki {{Infobox Interactable |name = Huge Monument Piece |image = |release = |premium = |episode = |profession = [[Forager]] |level = 14 |variant = [[Monument Piece]] |passive = No }} '''Huge Monument Pieces''' are [[Forager]] interactables and [[variant]]s of the [[Monument Piece]] that can be found in the [[Crater]] and the [[Wasteland]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|name=|group=}} ==References== {{Reflist}} 53101bff57d7b5a5c6a15ddc1d8141f20d090e71 Module:Param Parse 828 673 2139 2057 2024-04-10T20:11:53Z Gau Cho 5 yes_no_smw instead of yes_no Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Generic functions -- ----------------------- -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] ~= nil then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end return yes_no[text] or nil end -- Premade Params -- -------------------- -- Standardized name function parse.name = { name = 'name', func = parse.has_content, smw_property = 'Name', } -- Standardized image function function parse.image_func(img) if img and string.match(img, '%[%[File:.*%]%]') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.*%.%w%w%w") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image', } -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode_func(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end parse.episode = { name = 'episode', func = parse.episode_func, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Needs episode', } -- Premium parse.premium = { name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no_smw, category_incomplete = 'Needs premium status', } -- Release (TODO) parse.release = { name = 'release', func = parse.has_content, } -- Profession (TODO) parse.profession = { name = 'profession', func = parse.has_content, category_incomplete = 'Needs profession', smw_property = 'Profession' -- TODO - Need to create property page } parse.variant = { name = 'variant', func = parse.has_content, category_incomplete = 'Needs variant details', smw_property = 'Variant of' -- TODO - Need to create property page } parse.passive = { name = 'passive', func = parse.yes_no, smw_property = 'Passive', smw_func = parse.yes_no_smw, category_incomplete = 'Needs passiveness' } return parse -- </nowiki> f84f9665f30c255d126aa1e61cfb88b990c2e1c4 2146 2139 2024-04-10T20:41:35Z Gau Cho 5 yes_no_smw Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Generic functions -- ----------------------- -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Yes/No local yes_no = { ['Yes'] = true, ['No'] = false, ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] ~= nil then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end local bool = yes_no[text] if bool ~= nil then return bool end return nil end -- Premade Params -- -------------------- -- Standardized name function parse.name = { name = 'name', func = parse.has_content, smw_property = 'Name', } -- Standardized image function function parse.image_func(img) if img and string.match(img, '%[%[File:.*%]%]') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.*%.%w%w%w") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image', } -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode_func(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end parse.episode = { name = 'episode', func = parse.episode_func, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Needs episode', } -- Premium parse.premium = { name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no_smw, category_incomplete = 'Needs premium status', } -- Release (TODO) parse.release = { name = 'release', func = parse.has_content, } -- Profession (TODO) parse.profession = { name = 'profession', func = parse.has_content, category_incomplete = 'Needs profession', smw_property = 'Profession' -- TODO - Need to create property page } parse.variant = { name = 'variant', func = parse.has_content, category_incomplete = 'Needs variant details', smw_property = 'Variant of' -- TODO - Need to create property page } parse.passive = { name = 'passive', func = parse.yes_no, smw_property = 'Passive', smw_func = parse.yes_no_smw, category_incomplete = 'Needs passiveness' } return parse -- </nowiki> f4c15bddf298b745b1083d5b17666eab5105a178 2151 2146 2024-04-10T20:56:29Z Gau Cho 5 yes_no_smw debugging Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Generic functions -- ----------------------- -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Yes/No local yes_no = { ['Yes'] = 'true', ['No'] = 'false', ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] ~= nil then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end local bool = yes_no[text] if bool ~= nil then return bool end return nil end -- Premade Params -- -------------------- -- Standardized name function parse.name = { name = 'name', func = parse.has_content, smw_property = 'Name', } -- Standardized image function function parse.image_func(img) if img and string.match(img, '%[%[File:.*%]%]') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.*%.%w%w%w") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image', } -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode_func(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end parse.episode = { name = 'episode', func = parse.episode_func, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Needs episode', } -- Premium parse.premium = { name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no_smw, category_incomplete = 'Needs premium status', } -- Release (TODO) parse.release = { name = 'release', func = parse.has_content, } -- Profession (TODO) parse.profession = { name = 'profession', func = parse.has_content, category_incomplete = 'Needs profession', smw_property = 'Profession' -- TODO - Need to create property page } parse.variant = { name = 'variant', func = parse.has_content, category_incomplete = 'Needs variant details', smw_property = 'Variant of' -- TODO - Need to create property page } parse.passive = { name = 'passive', func = parse.yes_no, smw_property = 'Passive', smw_func = parse.yes_no_smw, category_incomplete = 'Needs passiveness' } return parse -- </nowiki> 7ed90a89414c0378e8f907648030ba251a7b1e30 File:Rock Pool.png 6 916 2140 2024-04-10T20:34:08Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2141 2140 2024-04-10T20:34:16Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1776276857706479810}} 2d80bc546769443ab1e88c27592359609c85832a File:Green hogberries.png 6 917 2143 2024-04-10T20:39:55Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2144 2143 2024-04-10T20:40:17Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1776276857706479810}} 2d80bc546769443ab1e88c27592359609c85832a Module:Infobox 828 102 2147 1876 2024-04-10T20:49:44Z Gau Cho 5 Add a __dump param for debugging Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local editbutton = require('Module:Edit button') local smwutils = require('Module:SMW Utils') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() if args_raw.__dump then obj:dump() end return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() function insert_version_name(version_name) table.insert(self.version_names, version_name) if smwutils.valid_subobject_name(version_name) == false then table.insert(self.errors, 'Illegal version value: must not be "0" nor contain a "." in the first five characters') end end -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do insert_version_name(self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') end -- Handle the no version case - check for a custom version_name if self.versions == 0 then insert_version_name(self.args_raw['version'] or 'DEFAULT') self.versions = 1 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-index', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do local button = buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) -- In case of dropdown list, hide the buttons as the switch gadget will convert them to a dropdown list - we can't directly create the dropdown list here as the select/option tags are rejected by wikitext if self.versions > self.max_buttons then button:addClass('hidden') end end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {Infobox = self.infobox_name} -- Also store the current Infobox name for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = true if self.versions == 1 then result = mw.smw.set(subobject) else result = mw.smw.subobject(subobject, subobject_name) end if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions < 2 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox b54dcb4a7821ec32cc15493753e32634787fb468 2148 2147 2024-04-10T20:50:15Z Gau Cho 5 Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local editbutton = require('Module:Edit button') local smwutils = require('Module:SMW Utils') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() if obj.args_raw.__dump then obj:dump() end return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() function insert_version_name(version_name) table.insert(self.version_names, version_name) if smwutils.valid_subobject_name(version_name) == false then table.insert(self.errors, 'Illegal version value: must not be "0" nor contain a "." in the first five characters') end end -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do insert_version_name(self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') end -- Handle the no version case - check for a custom version_name if self.versions == 0 then insert_version_name(self.args_raw['version'] or 'DEFAULT') self.versions = 1 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-index', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do local button = buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) -- In case of dropdown list, hide the buttons as the switch gadget will convert them to a dropdown list - we can't directly create the dropdown list here as the select/option tags are rejected by wikitext if self.versions > self.max_buttons then button:addClass('hidden') end end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {Infobox = self.infobox_name} -- Also store the current Infobox name for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = true if self.versions == 1 then result = mw.smw.set(subobject) else result = mw.smw.subobject(subobject, subobject_name) end if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions < 2 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox 008922114efdbe7b98cfc04585f95b356c2a08ff 2149 2148 2024-04-10T20:53:22Z Gau Cho 5 Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local editbutton = require('Module:Edit button') local smwutils = require('Module:SMW Utils') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() function insert_version_name(version_name) table.insert(self.version_names, version_name) if smwutils.valid_subobject_name(version_name) == false then table.insert(self.errors, 'Illegal version value: must not be "0" nor contain a "." in the first five characters') end end -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do insert_version_name(self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') end -- Handle the no version case - check for a custom version_name if self.versions == 0 then insert_version_name(self.args_raw['version'] or 'DEFAULT') self.versions = 1 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-index', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do local button = buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) -- In case of dropdown list, hide the buttons as the switch gadget will convert them to a dropdown list - we can't directly create the dropdown list here as the select/option tags are rejected by wikitext if self.versions > self.max_buttons then button:addClass('hidden') end end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {Infobox = self.infobox_name} -- Also store the current Infobox name for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = true if self.versions == 1 then result = mw.smw.set(subobject) else result = mw.smw.subobject(subobject, subobject_name) end if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions < 2 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end local dump = '' if obj.args_raw.__dump then setmetatable(self, nil) dump = mw.dumpObject(self) setmetatable(self, Infobox) end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text .. dump end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox 933d6280a9e4529e879ff1ec63a5d610675be26d 2150 2149 2024-04-10T20:53:42Z Gau Cho 5 Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local editbutton = require('Module:Edit button') local smwutils = require('Module:SMW Utils') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() function insert_version_name(version_name) table.insert(self.version_names, version_name) if smwutils.valid_subobject_name(version_name) == false then table.insert(self.errors, 'Illegal version value: must not be "0" nor contain a "." in the first five characters') end end -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do insert_version_name(self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') end -- Handle the no version case - check for a custom version_name if self.versions == 0 then insert_version_name(self.args_raw['version'] or 'DEFAULT') self.versions = 1 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-index', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do local button = buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) -- In case of dropdown list, hide the buttons as the switch gadget will convert them to a dropdown list - we can't directly create the dropdown list here as the select/option tags are rejected by wikitext if self.versions > self.max_buttons then button:addClass('hidden') end end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {Infobox = self.infobox_name} -- Also store the current Infobox name for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = true if self.versions == 1 then result = mw.smw.set(subobject) else result = mw.smw.subobject(subobject, subobject_name) end if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions < 2 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end local dump = '' if self.args_raw.__dump then setmetatable(self, nil) dump = mw.dumpObject(self) setmetatable(self, Infobox) end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text .. dump end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox c54651da609123c0fbfa47d49ec5c25505ad297c 2152 2150 2024-04-10T20:57:16Z Gau Cho 5 __dump Scribunto text/plain --[=[ -- For documentation, see [[Module:Infobox/doc]] --]=] -- <nowiki> local editbutton = require('Module:Edit button') local smwutils = require('Module:SMW Utils') local Infobox = {} Infobox.__index = Infobox --[[ Infobox class -- config: table containing configuration parameters -- params : definitions for each used value -- args : values passed from the Template ---- the following values are treated specially: default_version, version, version1, version2... --]] function Infobox.new(config, params, args) local obj = setmetatable({ args_raw = args, -- parameters (uncleaned) args_parsed = {}, -- parsed parameters args_smw = {}, -- parameters parsed for smw infobox_name = nil, -- template name param_names = {}, -- ordered param list params = {}, -- param definitions max_buttons = 6, -- If there are more buttons than the max, the buttons will become a dropdown menu default_version = 1, -- default version to populate the infobox versions = nil, -- number of versions version_names = {}, -- title of each version (for selection and SMW) rtable = nil, -- infobox table to return at the end switch_datatable = '', -- datatable for javascript for switch infoboxes categories = {}, -- set of categories errors = {}, -- list of errors __smw_debug = {}, -- debug data for smw subobjects }, Infobox) -- Step 1, setup config vars and count the versions obj:config(config) obj:parse_versions() -- Step 2, process the params obj:define_params(params) obj:parse_params() -- Table obj:table_header() obj:buttons() -- Misc obj:store_smw() obj:parse_categories() return obj end --[[ Refers to a param after being processed by the validating func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.param(param_name) param = { property = 'args_parsed', param_name = param_name, } return param end --[[ Refers to a param in raw form as passed from the Template Used in add_row(), define_params() and is_param_defined() --]] function Infobox.raw_param(param_name) param = { property = 'args_raw', param_name = param_name, } return param end --[[ Refers to a param after being processed by the validating smw_func Used in add_row(), define_params() and is_param_defined() --]] function Infobox.smw_param(param_name) param = { property = 'args_smw', param_name = param_name, } return param end --[[ Checks to see if a param is defined. -- param: Infobox.param(name), Infobox.raw_param(name) or Infobox.smw_param(name) Returns 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions ]] function Infobox:is_param_defined(param) local undefined = 0 local defined = 0 for version = 1, self.versions do local value = self:get_param(param, version) if value ~= nil then defined = 1 else undefined = 1 end end return 1 + defined - undefined end --[[ Adds a row to the infobox table Parameter should be a table of cells, where each cell is a table with the following arguments: -- tag : 'td' or 'th' -- content : a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- attr (optional) : mw.html:attr({ arg1 = '1', ... }) -- css (optional) : mw.html:css({ arg1 = '1', ...) -- class (optional) : mw.html:addClass('arg') ---- class also supports a table of values, even though mw.html:addClass() does not ---- common classes: infobox-subheader -- rowspan (optional) : mw.html:attr('rowspan',arg) -- colspan (optional) : mw.html:attr('colspan',arg) -- title (optional) : mw.html:attr('title',arg) The row itself may be assigned a single class by setting the value of the key addClass -- addClass : mw.html:addClass('arg') -- this function currently only supports a single string --]] function Infobox:add_row(...) local args = ... local _row = self.rtable:tag('tr') -- For each cell for _, v in ipairs(args) do local _cell = _row:tag(v.tag) -- Optional parameters if v.attr then _cell:attr(v.attr) end if v.colspan then _cell:attr('colspan',v.colspan) end if v.rowspan then _cell:attr('rowspan',v.rowspan) end if v.title then _cell:attr('title',v.title) end if v.css then _cell:css(v.css) end if v.class then if type(v.class) == 'string' then _cell:addClass(v.class) -- mw.html:addClass() doesn't function with tables, add in a loop elseif type(v.class) == 'table' then for _, w in ipairs(v.class) do _cell:addClass(w) end end end -- Populate the cell contents local content = self:get_param(v.content, self.default_version) if content == nil then content = self.params[v.content.param_name].empty end _cell:wikitext(content) -- Add the switch data if multiple values exist data_attr_param = self:add_switch_data(v.content) if data_attr_param then _cell:attr('data-attr-param', data_attr_param) end end -- allow classes to be defined on the whole row if args.addClass then _row:addClass(args.addClass) end return self end --[[ Adds a blank row of padding spanning the given number of columns --]] function Infobox:pad(colspan, class) local tr = self.rtable:tag('tr'):tag('td'):attr('colspan', colspan or 1):addClass('infobox-padding') if class then tr:addClass(class) end return self end --[[ Adds a class to the table as a whole --]] function Infobox:addClass(arg) self.rtable:addClass(arg) return self end --[[ Setup config values -- config: table containing configuration parameters ---- infobox_name = mandatory unique identifier for this infobox, used for css ---- max_buttuons = max number of switch buttons before using a dropdown list instead --]] function Infobox:config(config) for k, v in pairs(config) do if k == 'infobox_name' then self.infobox_name = mw.ustring.gsub(v, '%s', '_') elseif k == 'max_buttons' then self.max_buttons = tonumber(v) end end if self.infobox_name == nil then table.insert(self.errors, 'infobox_name needs to be defined in Infobox.new()\'s config!') end return self end --[[ Counts the number of versions in the infobox Populates Infobox.version_names Sets Infobox.default_version --]] function Infobox:parse_versions() function insert_version_name(version_name) table.insert(self.version_names, version_name) if smwutils.valid_subobject_name(version_name) == false then table.insert(self.errors, 'Illegal version value: must not be "0" nor contain a "." in the first five characters') end end -- Count the versions and setup self.version_names local i = 1 while self.args_raw['version'..i] do insert_version_name(self.args_raw['version'..i]) i = i + 1 end self.versions = i - 1 -- Should either have 0 or 2+ versions if self.versions == 1 then table.insert(self.errors, 'There should be multiple versions or no versions. If defining a custom version name for a single entry, use "version=Name" instead of "version1=Name".') end -- Handle the no version case - check for a custom version_name if self.versions == 0 then insert_version_name(self.args_raw['version'] or 'DEFAULT') self.versions = 1 end -- Check for a default_version if self.args_raw['default_version'] then self.default_version = tonumber(self.args_raw['default_version']) if self.default_version > self.versions then -- Make sure the default version exists self.default_version = 1 end end end --[[ Define all used parameters (except for default_version/version) -- name : parameter name as used in the Template -- func : function to validate and process the Template argument -- If func is a function, will call func(Infobox.raw_param(name)) -- If func is a table, contains the following key-value pairs: ---- name : function ---- params : list of arguments to pass to the function (use Infobox.raw_param(), ---- Infobox.param() and Infobox.smw_param() to use arguments) -- empty (optional) : text to display in the infobox if func returns nil, defaults to "? (edit)" -- category_never : category to add if func returns nil for all versions -- category_partial : category to add if func returns nil for some versions, but a value for other versions -- category_incomplete : category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) -- category_complete : category to add if func returns a value for all versions -- smw_property (optional) : if this string is defined, the parameter will be saved into smw -- smw_func (optional) : function to validate and process the Template argument to save into smw -- func is used by default if smw_func is not defined --]] function Infobox:define_params(...) -- For every parameter, store its corresponding function to self.params for _, v in ipairs(...) do if v.name then local param = {} -- Copy the function if type(v.func) == 'function' or type(v.func) == 'table' then param.func = v.func end -- If smw_property is defined, then use smw_func, or default to func if it is not defined if v.smw_property then param.smw_property = v.smw_property if type(v.smw_func) == 'function' or type(v.smw_func) == 'table' then param.smw_func = v.smw_func else param.smw_func = param.func end end -- If empty is not defined, default message is "? (edit)" param.empty = v.empty or editbutton("'''?''' (edit)") -- Get the category names param.category_never = v.category_never param.category_partial = v.category_partial param.category_incomplete = v.category_incomplete param.category_complete = v.category_complete -- Store the param self.params[v.name] = param table.insert(self.param_names, v.name) end end return self end --[[ Fetches a param value. If the value is nil, will return the default value instead -- arg: a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) -- version: 0/'' for default, or else a number Returns arg if a constant param value (or default value) if Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) --]] function Infobox:get_param(arg, version) if version == 0 then version = '' end -- Handle Infobox.param(), Infobox.raw_param(), Infobox.smw_param() if type(arg) == 'table' then local value = self[arg.property][arg.param_name..version] -- If nil, grab default value (which could be nil as well) if value == nil then value = self[arg.property][arg.param_name] end return value end -- Everything else passes through unmodified (string, number, etc) return arg end --[[ Calculates the parsed value of a param -- param_name : param_name as a string -- version : 0/'' for default, or else a number -- smw : boolean, will use smw_func if true, or func is false --]] function Infobox:parse_param(param_name, version, smw) if version == 0 then version = '' end -- use func or smw_func depending on smw argument local param = self.params[param_name] local func = smw and param.smw_func or param.func -- call functions by passing the param_name if type(func) == 'function' then return func(self:get_param(self.raw_param(param_name), version)) -- call tables by grabbing the function and reading the param arguments elseif type(func) == 'table' then local func_name = func.name local func_params = func.params local func_fetched_params = {} for _, func_param in ipairs(func_params) do table.insert(func_fetched_params, self:get_param(func_param, version)) end return func_name(unpack(func_fetched_params)) else table.insert(self.errors, 'Invalid param definition for '..param_name) end end --[[ Parses all the param values (args_parsed and args_smw) --]] function Infobox:parse_params() -- Calculate the param value for all params and all versions for _, param_name in ipairs(self.param_names) do for version=0, self.versions do if version == 0 then version = '' end -- get the parsed value self.args_parsed[param_name..version] = self:parse_param(param_name, version, false) -- Only get the smw value if smw_property is defined if self.params[param_name].smw_property then self.args_smw[param_name..version] = self:parse_param(param_name, version, true) end end end end --[[ Creates the table header --]] function Infobox:table_header() -- Create infobox table self.rtable = mw.html.create('table') :addClass('plainlinks') :addClass('infobox') :addClass('infobox-'..self.infobox_name) -- Create the switch datatable if multiple versions if self.versions > 1 then self.rtable:addClass('infobox-switch') self.switch_datatable = mw.html.create('div') :addClass('infobox-switch-resources') :addClass('infobox-resources-'..self.infobox_name) :addClass('hidden') end return self end --[[ If multiple versions exist, creates a set of buttons for switching -- self.max_buttons : if the number of versions exceeds this value, a dropdown will be created instead --]] function Infobox:buttons() if self.versions < 2 then return end -- Button caption local buttons = self.rtable:tag('caption') :tag('div') :addClass('infobox-buttons') :attr('data-default-index', self.default_version) -- Dropdown list instead of buttons if too many versions if self.versions > self.max_buttons then buttons:addClass('infobox-buttons-select') end -- Create all the buttons for version=1, self.versions do local button = buttons:tag('span') :attr('data-switch-index', version) :attr('data-switch-anchor', '#'..self.version_names[version]) :addClass('button') :wikitext(self.version_names[version]) -- In case of dropdown list, hide the buttons as the switch gadget will convert them to a dropdown list - we can't directly create the dropdown list here as the select/option tags are rejected by wikitext if self.versions > self.max_buttons then button:addClass('hidden') end end end --[[ For each version, stores a subobject for all params that have smw_property defined --]] function Infobox:store_smw() for version=1, self.versions do -- Generate a subobject name -- Reminder - subobject name cannot have a . in the first 5 characters local subobject_name = self.version_names[version] -- Store each param that has smw_property defined and is not nil local subobject = {Infobox = self.infobox_name} -- Also store the current Infobox name for _, param_name in ipairs(self.param_names) do local property = self.params[param_name].smw_property if property then value = self:get_param(self.smw_param(param_name), version) if value ~= nil then subobject[property] = value end end end -- Keep a copy for debugging self.__smw_debug[subobject_name] = subobject -- Save subobjects if not in mainspace if mw.title.getCurrentTitle():inNamespace(0) then local result = true if self.versions == 1 then result = mw.smw.set(subobject) else result = mw.smw.subobject(subobject, subobject_name) end if result ~= true then table.insert(self.errors, 'SMW error: '..result.error) end end end end --[[ Automatically add categories for each param as defined in define_params() --]] function Infobox:parse_categories() for _, param_name in ipairs(self.param_names) do local param = self.params[param_name] local defined = self:is_param_defined(Infobox.param(param_name)) if defined == 0 and param.category_never then self.categories[param.category_never] = 1 end if defined == 1 and param.category_partial then self.categories[param.category_partial] = 1 end if defined < 2 and param.category_incomplete then self.categories[param.category_incomplete] = 1 end if defined == 2 and param.category_complete then self.categories[param.category_complete] = 1 end end end --[[ When a parameter is added into the table, add the alternative versions' data into the switch datatable -- content : a non-table value (string, number, etc), or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) Returns the name of the parameter in the tag 'data-attr-param' --]] function Infobox:add_switch_data(content) if self.versions < 2 then return false end -- Only needed for non-constant params if type(content) ~= 'table' then return false end -- Only needed if the param changes value between different versions local first_value = self:get_param(content, 1) local all_same = true for version=2, self.versions do if first_value ~= self:get_param(content, version) then all_same = false break end end if all_same then return false end -- Let's build the datatable -- datum name: Prepend raw__ or smw__ if not a parsed argument local name = content.param_name if content.property == 'args_raw' then name = 'raw__' + name end if content.property == 'args_smw' then name = 'smw__' + name end data_param = self.switch_datatable:tag('span'):attr('data-attr-param', name) -- Add each version to the datatable for version=1, self.versions do text = self:get_param(content, version) if text == nil then text = self.params[content.param_name].empty end data_param:tag('span'):attr('data-attr-index', version):wikitext(text) end -- return the 'data-attr-param' name return name end --[[ Override tostring --]] function Infobox:__tostring() -- Create error messages local error_text = '' for _, v in ipairs(self.errors) do error_text = error_text..'<span class="mw-message-box-error">'..v..'</span>' end -- Create categories local category_text = '' for key, _ in pairs(self.categories) do category_text = category_text..'[[Category:'..key..']]' end local dump = '' if self.args_raw.__dump then setmetatable(self, nil) dump = '<nowiki>'..mw.dumpObject(self)..'</nowiki>' setmetatable(self, Infobox) end return tostring(self.rtable) .. tostring(self.switch_datatable) .. error_text .. category_text .. dump end --[[ Debug function --]] function Infobox:dump() -- Temporarily detach the metatable so we don't override tostring anymore, allowing us to use dumpObject setmetatable(self, nil) mw.log(mw.dumpObject(self)) setmetatable(self, Infobox) mw.log(tostring(self)) end return Infobox 794a03eefdc66b9aa8d81e8bc842066feee93448 Module:Infobox/doc 828 504 2153 1806 2024-04-10T21:02:37Z Gau Cho 5 __dump wikitext text/x-wiki {{documentation}} {{ToC|right}} ==Creating a template step-by-step== ===Import Module:Infobox and Module:Param Parse=== <syntaxhighlight lang="lua"> local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') </syntaxhighlight> ===Unpack the frame arguments from the Template=== <syntaxhighlight lang="lua"> local p = {} function p.main(frame) local args = frame:getParent().args ... </syntaxhighlight> ===Setup the Module config settings=== <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', } </syntaxhighlight> ===Map your arguments to parsing functions=== {{Main|Module:Param Parse}} Use the params in [[Module:Param Parse]] to validate and format the data - feel free to create your own new params in [[Module:Param Parse]]. <syntaxhighlight lang="lua"> local params = { parse.name, parse.image, {name = 'examine', func = parse.has_content, smw_property = 'Examine'}, -- Custom param parse.episode, ... } </syntaxhighlight> ===Define an Infobox object=== {{Main|Module:Infobox#new}} <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ===Create your table=== {{Main|Module:Infobox#create}} <syntaxhighlight lang="lua"> infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :pad("20") :add_row{ {tag='td', content='Info', class='infobox-subheader', colspan='20'}, } :pad("20") :add_row{ {tag='th', content='Examine', colspan="6"}, {tag='td', content=Infobox.param('examine'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } ... </syntaxhighlight> ===You're done!=== <syntaxhighlight lang="lua"> return infobox end return p </syntaxhighlight> ==Functions== === Special params === You don't need to do anything about these special parameters, but they may be used as parameters within the Template: {| class="wikitable" ! param ! explanation |- | version1, version2, version3 | Button label and SMW name for each switch version of the infobox |- | default_version | The default version to display when the page is loaded |- | version | If there is only a single version, you can use version to set the SMW name (default SMW name is "DEFAULT") |} === Referring to params === Each parameter can have a different value for each version. In addition, there are 3 different representations of each value. Therefore, a parameter must be accessed via one of the 3 helper functions: {| class="wikitable" ! helper function ! example ! explanation |- | Infobox.raw_param(name) | "1000" | Raw value as passed by the Template |- | Infobox.param(name) | "1,000" | Value formatted for display in the Infobox |- | Infobox.smw_param(name) | 1000 | Value formatted to be saved as an SMW property |} === Infobox.new(config, params, args) === Creates a new infobox. Automatically parses the arguments, creates SMW subobjects and adds categories. <syntaxhighlight lang="lua"> local infobox = Infobox.new(config, params, args) </syntaxhighlight> ==== config ==== There are only 2 parameters for config <syntaxhighlight lang="lua"> local config = { infobox_name = 'Scenery', -- mandatory unique identifier for css max_buttons = 6, -- optional, defaults to 6, max number of switch buttons before using a dropdown list instead } </syntaxhighlight> ==== params ==== A list of parameters to be processed by the Infobox module <syntaxhighlight lang="lua"> local params = { { name = <param>, func = <func>, ... }, ... } </syntaxhighlight> {| class="wikitable" ! key ! value |- | name | parameter name as used in the Template |- | func | A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended. If func is a function, will call func(Infobox.raw_param(name)): <syntaxhighlight lang="lua"> {name = <param>, func = <func>, ... }, </syntaxhighlight> If func is a table, it takes the following parameters: <syntaxhighlight lang="lua"> {name = <param>, func = { name = <func>, params = <func_params>}, ... }, </syntaxhighlight> {| class="wikitable" | name | function in [[Module:Param Parse]] |- | params | a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name) |} |- | empty (optional) | text to display in the infobox if func returns nil; defaults to "? (edit)" |- | category_never (optional) | category to add if func returns nil for all versions |- | category_partial (optional) | category to add if func returns nil for some versions, but a value for other versions |- | category_incomplete (optional) | category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) |- | category_complete (optional) | category to add if func returns a value for all versions |- | smw_property (optional) | if this string is defined, the parameter will be saved into SMW |- | smw_func (optional) | function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |} ==== args ==== Arguments passed via the Template <syntaxhighlight lang="lua"> local args = frame:getParent().args </syntaxhighlight> === infobox:is_param_defined(param) === Used to conditionally display a line in the infobox <syntaxhighlight lang="lua"> infobox:add_row{ {tag='th', content=Infobox.param('name'), class='infobox.subheader', colspan='2'}, } if infobox:is_param_defined(Infobox.param('owner')) > 0 then infobox:add_row{ {tag='td', content='[[Owner]]'}, {tag='td', content=Infobox.param('owner')}, } end </syntaxhighlight> {| class="wikitable" | param | a parameter referenced via Infobox.raw_param(name), Infobox.param(name) or Infobox.smw_param(name) |- | Returns | 0 if param is never defined 1 if param is defined for a fraction of the versions 2 if param is defined for all versions |} === Infobox:add_row(...) === Adds a row to the infobox table. Parameter should be a table of cells: <syntaxhighlight lang="lua"> infobox:add_row{ {tag='td', content='[[Cell1]]', ...}, {tag='td', content=Infobox.param('param'), ...}, {tag='td', content='[[Cell3]]', ...}, ... addClass = 'row-class' } </syntaxhighlight> Each cell should have a set of key-values, of which only the tag and content are mandatory: {| class="wikitable" ! key ! value |- | tag | 'td' or 'th' |- | content | a string or Infobox.param(name), Infobox.raw_param(name), Infobox.smw_param(name) |- | attr (optional) | a table of attributes to add to the cell mw.html:attr({ arg1 = '1', ... }) |- | css (optional) | a table of css to add to the cell mw.html:css({ arg1 = '1', ... }) |- | class (optional) | a string with a class to add, or a table of classes to add. '''infobox-header''', '''infobox-subheader''' and '''infobox-image''' are commonly used. mw.html:addClass(...) |- | rowspan (optional) | Set the cell rowspan mw.html:attr('rowspan',arg) |- | rowspan (optional) | Set the cell colspan mw.html:attr('colspan',arg) |- | title (optional) | Set the cell title mw.html:attr('title',arg) |} === Infobox:pad(colspan, class) === Adds a blank row of padding spanning the given number of columns. Will always add the class '''infobox-padding''', but can optionally add another class: <syntaxhighlight lang="lua"> infobox:pad("10", class=<class>) </syntaxhighlight> === Infobox:addClass(class) === Adds a class to the entire table <syntaxhighlight lang="lua"> infobox:addClass(class) </syntaxhighlight> === Infobox:dump() === Logs all the values into the Debug console for debugging purposes. You can also dump all the values in an Infobox template by setting a template parameter "__dump = Yes". 55e4ae4cad51b4be2465dd79ef16e1618ef8f411 File:Melv.png 6 918 2154 2024-04-10T21:16:23Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Melv.png 6 918 2155 2154 2024-04-10T21:16:41Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://brightershores.com/screenshots/18_melvs_supplies.jpg}} 8a8ebe7db892431d8a0eb2b08ddf493acfadc5fd Melv 0 87 2156 1429 2024-04-10T21:18:22Z Yellowsap 63 wikitext text/x-wiki {{Infobox NPC |name = Melv |image = [[File:Melv.png]] |release = |episode = |profession = [[Merchant]] |shop = [[Melv's Fishing Supplies]] }} '''Melv''' is the shop owner of [[Melv's Fishing Supplies]]. 2868352185ebc8b988c33281235dce8d58f9c70c File:Common Limpet.png 6 919 2157 2024-04-10T21:43:57Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2158 2157 2024-04-10T21:44:40Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1769048510177948004}} 6f5ca0034357c95ba9ae599fe98e554b5597558d Common Limpet 0 872 2159 2120 2024-04-10T21:45:35Z Yellowsap 63 wikitext text/x-wiki {{Infobox Interactable |name = Common Limpet |image = [[File:Common limpet.png]] |release = |premium = |episode = |profession = [[Forager]] |level = 59 |variant = [[Limpet]] |passive = No }} '''Common Limpets''' are a type of [[Forager]] interactable and a [[variant]] of [[Limpet]]s found in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=}} ==References== {{Reflist}} b043bd16c4b04bdcdbf325b60e03cd13d0b5833d 2160 2159 2024-04-10T21:46:05Z Yellowsap 63 wikitext text/x-wiki {{Infobox Interactable |name = Common Limpet |image = [[File:Common Limpet.png]] |release = |premium = |episode = |profession = [[Forager]] |level = 59 |variant = [[Limpet]] |passive = No }} '''Common Limpets''' are a type of [[Forager]] interactable and a [[variant]] of [[Limpet]]s found in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=}} ==References== {{Reflist}} a2945c467541c49f10c41b95e3b395eb4217ea6a Template:Weapons 10 920 2161 2024-04-10T22:08:25Z Yellowsap 63 Created page with "{{Navbox |name = Weapons |title = [[Weapons]] |gtitle1 = Melee |group1 = * [[Mace]] * [[Shield]] * [[Sword]] |gtitle2 = Ranged |group2 = * [[Crossbow]] |gtitle3 = Magic |group3 = * [[Staff]] }}{{Ctg|Weapons}}" wikitext text/x-wiki {{Navbox |name = Weapons |title = [[Weapons]] |gtitle1 = Melee |group1 = * [[Mace]] * [[Shield]] * [[Sword]] |gtitle2 = Ranged |group2 = * [[Crossbow]] |gtitle3 = Magic |group3 = * [[Staff]] }}{{Ctg|Weapons}} 12ed14f9987f2400049291bc99d2545ebfef8bf1 2167 2161 2024-04-10T22:23:19Z Yellowsap 63 wikitext text/x-wiki {{Navbox |name = Weapons |title = [[Weapons]] |gtitle1 = Melee |group1 = * [[Hammer]] * [[Mace]] * [[Sword]] |gtitle2 = Ranged |group2 = * [[Crossbow]] |gtitle3 = Magic |group3 = * [[Staff]] }}{{Ctg|Weapons}} 31ec3208da53e06748cf16b5400954212c143448 Mace 0 734 2162 1779 2024-04-10T22:15:25Z Yellowsap 63 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Mace |image = [[File:Mace.png]] |release = |episode = |profession = Combat |value = }} A '''mace''' is a type of [[weapon]] in [[Brighter Shores]].<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref> ==Gallery== <gallery mode="packed" heights="200"> File:Mace equipped.png|A player with a mace equipped. </gallery> ==References== {{Reflist}} {{Weapons}} [[Category:Equipment]] 3ad17e926d92813a90e6483143d20451226e14f6 Sword 0 193 2163 1789 2024-04-10T22:17:13Z Yellowsap 63 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Sword |image = [[File:Sword.png]] |release = Q3 [[2024]] |episode = Unknown |profession = Combat |value = 50 }} '''Swords'''<ref>https://brightershores.com/screenshots/09_himatik_ruins.jpg</ref> are a type of [[weapon]] in [[Brighter Shores]], typically utilised by the [[cryoknight]] class. ==References== {{Reflist}} {{Weapons}} [[Category:Equipment]] 232d1b17ac10c7990cd39fe14ada65d9174a2a9c Crossbow 0 192 2164 1763 2024-04-10T22:18:25Z Yellowsap 63 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Crossbow |image = [[File:Crossbow.png]] |release = |episode = |profession = Combat |value = 0 }} '''Crossbows''' are a type of [[weapon]] in [[Brighter Shores]]<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref>, typically utilised by the [[guardian]] class. ==References== {{Reflist}} {{Weapons}} [[Category:Equipment]] 606822bc6170650fc76fc1320bae0abe59c831f6 Staff 0 733 2165 1792 2024-04-10T22:19:45Z Yellowsap 63 wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Staff |image = [[File:Staff.png]] |release = |episode = |profession = Combat |value = }} A '''staff''' is a type of [[weapon]] in [[Brighter Shores]].<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref> ==References== {{Reflist}} {{Weapons}} [[Category:Equipment]] 4e7a93a5f8f30e51532557ea2c2dabd21cc7cc73 Category:Weapons 14 921 2166 2024-04-10T22:21:22Z Yellowsap 63 Created page with "{{Categoryheader|pages|weapons}} [[Category:Weapons]]" wikitext text/x-wiki {{Categoryheader|pages|weapons}} [[Category:Weapons]] 7a75b066726ece50469b9fb3e227d6b6b57db015 Weapons 0 922 2168 2024-04-10T22:29:54Z Yellowsap 63 Created page with "'''Weapons''' are items that [[players]] use to inflict damage in [[combat]]. They may be crafted through the [[Blacksmith|Blacksmith profession]]. ==Weapon types== ===Melee=== *[[Hammer]] *[[Mace]] *[[Sword]] ===Ranged=== *[[Crossbow]] ===Magic=== *[[Staff]] {{Weapons}}" wikitext text/x-wiki '''Weapons''' are items that [[players]] use to inflict damage in [[combat]]. They may be crafted through the [[Blacksmith|Blacksmith profession]]. ==Weapon types== ===Melee=== *[[Hammer]] *[[Mace]] *[[Sword]] ===Ranged=== *[[Crossbow]] ===Magic=== *[[Staff]] {{Weapons}} 217d59067d8735fa3af66d44ec0807a40e17184c Players 0 923 2169 2024-04-10T22:30:29Z Yellowsap 63 Redirected page to [[Player]] wikitext text/x-wiki #REDIRECT [[Player]] 2ffc7e7a91be927b1725a157e148ea02e23a0cea Weapon 0 924 2170 2024-04-10T22:30:49Z Yellowsap 63 Redirected page to [[Weapons]] wikitext text/x-wiki #REDIRECT [[Weapons]] b2b7726a0610fead897f74c818ef48da98b1204e Hammer 0 925 2171 2024-04-10T22:32:09Z Yellowsap 63 Created page with "{{Unofficial name}} {{Infobox Item |name = Hammer |image = [[File:Hammer.png]] |release = |episode = |profession = Combat |value = }} '''Hammer''' is a type of [[weapon]] in [[Brighter Shores]].<ref>https://brightershores.com/screenshots/16_thief_combat.jpg</ref> ==References== {{Reflist}} {{Weapons}} [[Category:Equipment]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Hammer |image = [[File:Hammer.png]] |release = |episode = |profession = Combat |value = }} '''Hammer''' is a type of [[weapon]] in [[Brighter Shores]].<ref>https://brightershores.com/screenshots/16_thief_combat.jpg</ref> ==References== {{Reflist}} {{Weapons}} [[Category:Equipment]] ed404e5108787f55dbe9eb2c0291bde250a556fc File:Hammer.png 6 926 2172 2024-04-10T22:36:00Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2173 2172 2024-04-10T22:36:27Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://brightershores.com/screenshots/16_thief_combat.jpg}} b67b7020b4601d2e5335b33791b78bfec3ff863b 2174 2173 2024-04-10T22:38:20Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://brightershores.com/screenshots/16_thief_combat.jpg}} == Summary == [[Category:Equipment images]] 3e6844b76c338e2e133ef39dda707b1feab74f59 File:Staff.png 6 732 2175 2017 2024-04-10T22:38:44Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://brightershores.com/screenshots/03_shade_combat.jpg}} == Summary == [[Category:Equipment images]] be29ab3ebc78c3a36a3beb221e9778ae5ea4f39d File:Crossbow.png 6 730 2176 1976 2024-04-10T22:39:18Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://brightershores.com/screenshots/03_shade_combat.jpg}} == Summary == [[Category:Equipment images]] be29ab3ebc78c3a36a3beb221e9778ae5ea4f39d File:Mace.png 6 731 2177 2022 2024-04-10T22:39:32Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://brightershores.com/screenshots/03_shade_combat.jpg}} == Summary == [[Category:Equipment images]] be29ab3ebc78c3a36a3beb221e9778ae5ea4f39d File:Sword.png 6 739 2178 2035 2024-04-10T22:40:05Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://brightershores.com/screenshots/09_himatik_ruins.jpg}} == Summary == [[Category:Equipment images]] 9ea1293ff54617962b7a7239c58b4574b77e5da2 File:Shield.png 6 744 2179 1998 2024-04-10T22:40:36Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://brightershores.com/screenshots/03_shade_combat.jpg}} == Summary == [[Category:Equipment images]] be29ab3ebc78c3a36a3beb221e9778ae5ea4f39d 2180 2179 2024-04-10T22:40:46Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://brightershores.com/screenshots/09_himatik_ruins.jpg}} == Summary == [[Category:Equipment images]] 9ea1293ff54617962b7a7239c58b4574b77e5da2 Fen Research 0 55 2181 791 2024-04-11T00:43:06Z 2601:246:5000:E11:C898:8885:198:A5B0 0 Fixed the URL to the Twitter account for @FenResearch wikitext text/x-wiki '''Fen Research''' is a game development studio based in [[Wikipedia:Cambridge|Cambridge]], UK. Founded by [[Andrew Gower]], it is currently actively developing the game [[Brighter Shores]]. Their official X, formerly known as Twitter, account is [https://twitter.com/FenResearch @FenResearch] [[Category:Fen Research|#]] 4cf48e0eca847e456f8668e2ec4cf13e475c8d96 File:Arborae potion.png 6 863 2182 1958 2024-04-11T11:04:37Z Yellowsap 63 wikitext text/x-wiki [[Category:Potion images]] 388d06d85806717fa6f546638e7310b47cc31d1c Category:Needs passiveness 14 927 2183 2024-04-11T12:29:16Z BlackHawk 10 Created page with "{{Categoryheader|pages|monster page that needs the passiveness added|yes|{{T|Infobox Monster}} with the <code>passive</code> parameter not filled in}} {{Hidden category}} [[Category:Needs information]] __EXPECTUNUSEDCATEGORY__" wikitext text/x-wiki {{Categoryheader|pages|monster page that needs the passiveness added|yes|{{T|Infobox Monster}} with the <code>passive</code> parameter not filled in}} {{Hidden category}} [[Category:Needs information]] __EXPECTUNUSEDCATEGORY__ 04af851884119287c18a6d88cd5ff7facf420fee 2185 2183 2024-04-11T12:32:07Z BlackHawk 10 wikitext text/x-wiki {{Categoryheader|pages|monster page that needs the passiveness added|yes|{{T|Infobox Monster}} with the <code>passive</code> parameter not filled in}} {{Hidden category}} [[Category:Needs information]] [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__ 861dab9eff25cdbb6de6295b0cf5c0c1fd3351bd Category:Needs profession 14 928 2184 2024-04-11T12:31:44Z BlackHawk 10 Created page with "{{Categoryheader|pages|pages that need the profession added|yes|infoboxes that need the <code>episode</code> parameter filled}} {{Hidden category}} [[Category:Needs information]] [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__" wikitext text/x-wiki {{Categoryheader|pages|pages that need the profession added|yes|infoboxes that need the <code>episode</code> parameter filled}} {{Hidden category}} [[Category:Needs information]] [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__ 461c033118be1be0364464cc4cf4a301c30d76c9 Category:Needs variant details 14 929 2186 2024-04-11T12:33:40Z BlackHawk 10 Created page with "{{Categoryheader|pages|monster page that need the variant added|yes|{{T|Infobox Interactable}} and {{T|Infobox Monster}} with the <code>variant</code> parameter not filled in}} {{Hidden category}} [[Category:Needs information]] [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__" wikitext text/x-wiki {{Categoryheader|pages|monster page that need the variant added|yes|{{T|Infobox Interactable}} and {{T|Infobox Monster}} with the <code>variant</code> parameter not filled in}} {{Hidden category}} [[Category:Needs information]] [[Category:Maintenance categories]] __EXPECTUNUSEDCATEGORY__ d15c8bb0b621d45978272774c04029f908be60c9 Property:Passive 302 930 2187 2024-04-11T12:36:58Z BlackHawk 10 Created page with "{{property|type=boolean}}" wikitext text/x-wiki {{property|type=boolean}} 2cbc30543419a0b2c67e3e032254ec8eba536499 Property:Variant of 302 931 2188 2024-04-11T12:40:12Z BlackHawk 10 Created page with "{{property|type=page|templates= * [[Module:Infobox Interactable]] * [[Module:Infobox Monster]] }}" wikitext text/x-wiki {{property|type=page|templates= * [[Module:Infobox Interactable]] * [[Module:Infobox Monster]] }} 259ec20972110ac096e81c1465eb9f43b07121f1 Template:Property 10 802 2189 1635 2024-04-11T12:42:26Z BlackHawk 10 wikitext text/x-wiki This page tracks and controls the '''{{PAGENAME}}''' property. This property accepts and displays values that are [[has type::{{{type|page}}}]]s. {{{notes|}}} {{#if:{{{templates|}}}|This property is added by the following templates: {{{templates}}} |This property is not added by any template.}} ---- [{{fullurl:Special:Ask|q={{urlencode:[[{{PAGENAME}}::+]]}}&limit=500&po={{urlencode:?{{PAGENAME}}}} }} '''Table of all articles using this property''']<noinclude>{{/doc}}<templatedata> { "params": { "type": { "label": "Data type", "description": "SMW data type of the property - see [https://www.semantic-mediawiki.org/wiki/Help:List_of_datatypes]", "example": "text", "type": "string", "default": "page", "required": true }, "notes": { "label": "Notes", "description": "Notes/description of property use and any special properties", "example": "Used to specify if the entity is members-only or not.", "type": "string", "suggested": true }, "templates": { "label": "Templates", "description": "List of templates and modules that set the property automatically", "example": "\n* [[Template:Infobox NPC]]\n* [[Module:Infobox Monster]]", "type": "string", "suggested": true } }, "description": "Formats a property page and sets the data type", "format": "block" } </templatedata>[[Category:Transclusion templates]]</noinclude> ca75b36e93e620416480f03a8fc460affa40e2ea Property:Profession 302 932 2190 2024-04-11T12:47:23Z BlackHawk 10 Created page with "{{property|type=page|templates= * [[Module:Infobox Interactable]] * [[Module:Infobox Item]] * [[Module:Infobox NPC]] }}" wikitext text/x-wiki {{property|type=page|templates= * [[Module:Infobox Interactable]] * [[Module:Infobox Item]] * [[Module:Infobox NPC]] }} 508c8efeef3de6b7332b86bf1c1abebaddfbdbc4 Property:Shop 302 933 2191 2024-04-11T12:48:40Z BlackHawk 10 Created page with "{{property|type=page|templates= * [[Module:Infobox NPC]] }}" wikitext text/x-wiki {{property|type=page|templates= * [[Module:Infobox NPC]] }} b10d9ddbcb74807079855dd5ba30e73d57b226bf User:BlackHawk/Sandbox 2 780 2192 1500 2024-04-11T12:53:58Z BlackHawk 10 Blanked the page wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Fishmonger 0 835 2193 2018 2024-04-11T12:57:41Z InvalidCards 4 wikitext text/x-wiki {{Infobox NPC |name = Fishmonger |image = [[File:Fishmonger.png]] |release = |episode = |profession = Fisher |shop = Yes }} '''Fishmonger''' is an NPC located on the [[Eel Street]] in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:16 / 1:41.|name=|group=}} ==References== <references/> e43f2d9575d05b9771587ab2e3f0873efab05609 Town Square 0 838 2194 2019 2024-04-11T12:58:32Z InvalidCards 4 wikitext text/x-wiki {{Infobox Location |name = Town Square |image = [[File:Town_Square.jpg|280px]] |release = |premium = |episode = Hopeport }} The '''Town Square''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:00 / 1:41.|name=|group=}} It connects to the [[Eel Street Bridge]] in the south. [[Zeltay Tramagan]] sells items in the square. ==References== {{Reflist}} 62ea6e2e5d5220334eb92bfccde4f5e8a0ad800d Zeltay Tramagan 0 834 2195 2012 2024-04-11T12:58:43Z InvalidCards 4 wikitext text/x-wiki {{Infobox NPC |name = Zeltay Tramagan |image = [[File:Zeltay Tramagan.png]] |release = |episode = |profession = |shop = Yes }} '''Zeltay Tramagan''' is an NPC located on the [[Town Square]] in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:04 / 1:41.|name=|group=}} ==References== <references/> 4e3f4fb50db58e9c6ad260307b9adbdb2271c9b9 User:BlackHawk 2 934 2196 2024-04-11T12:59:59Z BlackHawk 10 Created page with "Hey there. Let me know if I can help!" wikitext text/x-wiki Hey there. Let me know if I can help! a087590788df0b191327ff9d6c8ec4994b75bd2b Module:Infobox Shop 828 935 2197 2024-04-11T13:20:00Z BlackHawk 10 Created page with "local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Shop', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, {name = 'owner', func = parse.has_content, smw_property = 'Shop owner'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th',..." Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Shop', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, {name = 'owner', func = parse.has_content, smw_property = 'Shop owner'}, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='Owner', colspan="6"}, {tag='td', content=Infobox.param('owner'), colspan="14"}, } infobox:pad(20) return infobox end return p 62aad0b9903d7761f01d533eb449f27922fce6cc Module:Infobox Shop/doc 828 936 2198 2024-04-11T13:20:22Z BlackHawk 10 Created page with "{{No documentation}}" wikitext text/x-wiki {{No documentation}} ad36a615c98d03e22b03ecaa7b9d7d87b5d7b517 Template:Infobox Shop 10 937 2199 2024-04-11T13:21:00Z BlackHawk 10 Created page with "{{#invoke:Infobox Shop|main}}{{Mainonly|[[Category:Shops]]}}<noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki {{#invoke:Infobox Shop|main}}{{Mainonly|[[Category:Shops]]}}<noinclude>{{/doc}}</noinclude> 107f4e9f5cd918df10931dd841db7432b7a1bcf5 Template:Infobox Shop/doc 10 938 2200 2024-04-11T13:21:53Z BlackHawk 10 Created page with "{{Documentation}} ==Parameters== ===name=== The name of the shop. ===image=== The image of the shop. ===release=== The release date of the shop. ===premium=== Whether or not this shop requires a [[premium pass]]. ===episode=== The episode of the shop. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ===owner=== The owner of the shop. ==Quick copy== <pre>{{Infobox Shop |name = |image = |release = |premium = |episode = |owner = }}</pre> <inclu..." wikitext text/x-wiki {{Documentation}} ==Parameters== ===name=== The name of the shop. ===image=== The image of the shop. ===release=== The release date of the shop. ===premium=== Whether or not this shop requires a [[premium pass]]. ===episode=== The episode of the shop. One of: * Hopeport * Hopeforest * Mine of Mantuban * Crenopolis ===owner=== The owner of the shop. ==Quick copy== <pre>{{Infobox Shop |name = |image = |release = |premium = |episode = |owner = }}</pre> <includeonly>[[Category:Infobox templates]]</includeonly> e1440042ec03b33129979120588cf0821cd5d3c8 Melv's Fishing Supplies 0 86 2201 319 2024-04-11T13:26:15Z BlackHawk 10 wikitext text/x-wiki {{Infobox Shop |name = Melv's Fishing Supplies |image = [[File:Melv's Fishing Supplies.jpg|280px]] |release = |premium = |episode = |owner = [[Melv]] }} '''Melv's Fishing Supplies''' is a [[Fisher]] shop run by [[Melv]]. 15de6ab7aebbc5bd54f840e24a50d46cbe59b984 Lani's Curiosities 0 92 2202 323 2024-04-11T13:26:45Z BlackHawk 10 wikitext text/x-wiki {{Infobox Shop |name = Lani's Curiosities |image = [[File:Lani's Curiosities.jpg|280px]] |release = |premium = |episode = |owner = [[Lani]] }} '''Lani's Curiosities''' is a shop run by [[Lani]]. ca8d16f59d54dc2cc574fedc6d17381e21d1bf9d File:Combat actions weapons slot.jpg 6 939 2203 2024-04-11T14:30:09Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2204 2203 2024-04-11T14:30:58Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://brightershores.com/screenshots/03_shade_combat.jpg [[Category:Interface images]] f34128a439b1eefac1e990ebc2ff74b1772e182f Weapons 0 922 2205 2168 2024-04-11T14:32:25Z Yellowsap 63 wikitext text/x-wiki [[File:Combat actions weapons slot.jpg|thumb|right|Weapons equipped by a player.]] '''Weapons''' are items that [[players]] use to inflict damage in [[combat]]. They may be crafted through the [[Blacksmith|Blacksmith profession]]. Certain weapons have a [[damage]] type which is indicated by an icon on the top left of the weapon's icon. It is currently unknown how a weapon gets its damage type or if this can be changed. ==Weapon types== ===Melee=== *[[Claw]] *[[Hammer]] *[[Mace]] *[[Sword]] ===Ranged=== *[[Crossbow]] *[[Spiked Balls]] ===Magic=== *[[Staff]] {{Weapons}} 28e3b176e1adc162533a583d8602a995dcacd6d2 2237 2205 2024-04-11T16:50:53Z Yellowsap 63 Minor word change. wikitext text/x-wiki [[File:Combat actions weapons slot.jpg|thumb|right|Weapons equipped by a player.]] '''Weapons''' are items that [[players]] use to inflict damage in [[combat]]. They may be crafted through the [[Blacksmith|Blacksmith profession]]. Certain weapons have a [[damage]] type which is indicated by a symbol on the top left of the weapon's icon. It is currently unknown how a weapon gets its damage type or if this can be changed. ==Weapon types== ===Melee=== *[[Claw]] *[[Hammer]] *[[Mace]] *[[Sword]] ===Ranged=== *[[Crossbow]] *[[Spiked Balls]] ===Magic=== *[[Staff]] {{Weapons}} ce38dc9b763fbfcc3eaaabaa29c25c39c0ca6a3b File:Spiked balls.png 6 940 2206 2024-04-11T14:40:02Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2207 2206 2024-04-11T14:40:35Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://brightershores.com/screenshots/16_thief_combat.jpg}} [[Category:Equipment images]] bcc430b84e32671477cd055940faf5e0ef5d7d07 Spiked Balls 0 941 2208 2024-04-11T14:41:03Z Yellowsap 63 Created page with "{{Unofficial name}} {{Infobox Item |name = Spiked Balls |image = [[File:Spiked balls.png]] |release = |episode = |profession = Combat |value = }} '''Spiked Balls''' are a type of [[weapon]] in [[Brighter Shores]].<ref>https://brightershores.com/screenshots/16_thief_combat.jpg</ref> ==References== {{Reflist}} {{Weapons}} [[Category:Equipment]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Spiked Balls |image = [[File:Spiked balls.png]] |release = |episode = |profession = Combat |value = }} '''Spiked Balls''' are a type of [[weapon]] in [[Brighter Shores]].<ref>https://brightershores.com/screenshots/16_thief_combat.jpg</ref> ==References== {{Reflist}} {{Weapons}} [[Category:Equipment]] 3cff1d2c15f2d4372ba07674edf8d1a69cca5b71 Template:Weapons 10 920 2209 2167 2024-04-11T14:41:45Z Yellowsap 63 wikitext text/x-wiki {{Navbox |name = Weapons |title = [[Weapons]] |gtitle1 = Melee |group1 = * [[Claw]] * [[Hammer]] * [[Mace]] * [[Sword]] |gtitle2 = Ranged |group2 = * [[Crossbow]] * [[Spiked Balls]] |gtitle3 = Magic |group3 = * [[Staff]] }}{{Ctg|Weapons}} 1ac0353d5891c04a3ac256fe9209bce7d3cff4bd File:Claw.png 6 942 2210 2024-04-11T14:45:52Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2211 2210 2024-04-11T14:46:11Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://brightershores.com/screenshots/16_thief_combat.jpg}} [[Category:Equipment images]] bcc430b84e32671477cd055940faf5e0ef5d7d07 Claw 0 943 2212 2024-04-11T14:46:35Z Yellowsap 63 Created page with "{{Unofficial name}} {{Infobox Item |name = Claw |image = [[File:Claw.png]] |release = |episode = |profession = Combat |value = }} A '''Claw''' is a type of [[weapon]] in [[Brighter Shores]].<ref>https://brightershores.com/screenshots/16_thief_combat.jpg</ref> ==References== {{Reflist}} {{Weapons}} [[Category:Equipment]]" wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Claw |image = [[File:Claw.png]] |release = |episode = |profession = Combat |value = }} A '''Claw''' is a type of [[weapon]] in [[Brighter Shores]].<ref>https://brightershores.com/screenshots/16_thief_combat.jpg</ref> ==References== {{Reflist}} {{Weapons}} [[Category:Equipment]] 3ac5d70436c7228b18c6ea715f0ec08a0947d556 MediaWiki:Common.less/templates.less 8 25 2213 1680 2024-04-11T16:00:30Z BlackHawk 10 less less /* ================== TEMPLATES ==================*/ :root { --keypress-background: @gallery; --keypress-border: @silver; --keypress-color: @mineshaft; } // TOC .toc { .toctitle > * { color: @white; } } // NAVBOX .navbox { .navbox-title { color: @white; } .navbox-list { &:not(last-child) { border-bottom: none; } } } // Template:Archive list .archivelist { background-color: @infobox-background; border: solid 1px @infobox-border-color; box-shadow: @box-shadow; float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } // Template:Shortcut .shortcut { border: 1px solid @infobox-border-color; background: @infobox-background; float: right; font-size: .8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } // Hatnotes: [[Module:Hatnote]] .hatnote, .seealso { font-style: italic; i { font-style: normal; } } // two classes - hatnote gets much customisation in minerva but seealso doesnt div.hatnote, div.seealso { // 0.5em is <p>'s top and bottom margin // 1.6em to match <dd>/<ul> indent margin: .5em 1.6em; & + & { margin-top: -0.5em; } } // Template:Key press .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: @border-radius; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } // Template:Relative location .relative-location { background: @infobox-background; border: 1px solid @infobox-border-color; border-spacing: 0; box-shadow: @box-shadow; margin: 5px; text-align: center; &-txt { color: var(--text-color); } &-header { background: @infobox-header-color; } } deb7a064dddfd500761e569be17188e658b66a8a 2220 2213 2024-04-11T16:15:02Z BlackHawk 10 less less /* ================== TEMPLATES ==================*/ :root { --keypress-background: @gallery; --keypress-border: @silver; --keypress-color: @mineshaft; } // TOC .toc { .toctitle > * { color: @white; } } // NAVBOX .navbox { .navbox-title { color: @white; } .navbox-list { &:not(last-child) { border-bottom: none; } } } // Template:Archive list .archivelist { background-color: @infobox-background; border: solid 1px @infobox-border-color; box-shadow: @box-shadow; float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } // Template:Shortcut .shortcut { border: 1px solid @infobox-border-color; background: @infobox-background; float: right; font-size: .8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } // Hatnotes: [[Module:Hatnote]] .hatnote, .seealso { font-style: italic; i { font-style: normal; } } // two classes - hatnote gets much customisation in minerva but seealso doesnt div.hatnote, div.seealso { // 0.5em is <p>'s top and bottom margin // 1.6em to match <dd>/<ul> indent margin: .5em 1.6em; & + & { margin-top: -0.5em; } } // Template:Key press .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: @border-radius; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } // Template:Relative location .relative-location { background: @infobox-background; border: 1px solid @infobox-border-color; border-spacing: 0; box-shadow: @box-shadow; text-align: center; &-txt { color: var(--text-color); } &-header { background: @infobox-header-color; } } 8d588b2416483dfef21c6cb34f62161363210780 2226 2220 2024-04-11T16:19:19Z BlackHawk 10 less less /* ================== TEMPLATES ==================*/ :root { --keypress-background: @gallery; --keypress-border: @silver; --keypress-color: @mineshaft; } // TOC .toc { .toctitle > * { color: @white; } } // NAVBOX .navbox { .navbox-title { color: @white; } .navbox-list { &:not(last-child) { border-bottom: none; } } } // Template:Archive list .archivelist { background-color: @infobox-background; border: solid 1px @infobox-border-color; box-shadow: @box-shadow; float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } // Template:Shortcut .shortcut { border: 1px solid @infobox-border-color; background: @infobox-background; float: right; font-size: .8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } // Hatnotes: [[Module:Hatnote]] .hatnote, .seealso { font-style: italic; i { font-style: normal; } } // two classes - hatnote gets much customisation in minerva but seealso doesnt div.hatnote, div.seealso { // 0.5em is <p>'s top and bottom margin // 1.6em to match <dd>/<ul> indent margin: .5em 1.6em; & + & { margin-top: -0.5em; } } // Template:Key press .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: @border-radius; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } // Template:Relative location .relative-location { background: @infobox-background; border: 1px solid @infobox-border-color; border-spacing: 0; box-shadow: @box-shadow; text-align: center; &-txt { color: @white; } &-header { background: @infobox-header-color; } } 0f2abc8d1849d88222a77d53cf6e258402e9b54d 2233 2226 2024-04-11T16:24:54Z BlackHawk 10 less less /* ================== TEMPLATES ==================*/ :root { --keypress-background: @gallery; --keypress-border: @silver; --keypress-color: @mineshaft; } // TOC .toc { .toctitle > * { color: @white; } } // NAVBOX .navbox { .navbox-title { color: @white; } .navbox-list { &:not(last-child) { border-bottom: none; } } } // Template:Archive list .archivelist { background-color: @infobox-background; border: solid 1px @infobox-border-color; box-shadow: @box-shadow; float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } // Template:Shortcut .shortcut { border: 1px solid @infobox-border-color; background: @infobox-background; float: right; font-size: .8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } // Hatnotes: [[Module:Hatnote]] .hatnote, .seealso { font-style: italic; i { font-style: normal; } } // two classes - hatnote gets much customisation in minerva but seealso doesnt div.hatnote, div.seealso { // 0.5em is <p>'s top and bottom margin // 1.6em to match <dd>/<ul> indent margin: .5em 1.6em; & + & { margin-top: -0.5em; } } // Template:Key press .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: @border-radius; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } // Template:Relative location .relative-location { background: @infobox-background; border: 1px solid @infobox-border-color; border-spacing: 0; box-shadow: @box-shadow; text-align: center; &-header { background: @infobox-header-color; color: @white; font-weight: bold; } } 5ca0f212713b76819c35d8c77babaf58786e6a27 MediaWiki:Common.css 8 30 2214 1813 2024-04-11T16:00:39Z BlackHawk 10 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #afa19a; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #ece3de; --ooui-disabled-border: #e3d5ce; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .navbox .navbox-title { color: #fff; } .navbox .navbox-list:not(last-child) { border-bottom: none; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } .relative-location { background: var(--body-light); border: 1px solid var(--body-border); border-spacing: 0; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 5px; text-align: center; } .relative-location-txt { color: var(--text-color); } .relative-location-header { background: var(--body-dark); } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-subheader); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox .infobox-buttons .button.button-selected { background: var(--table-header); } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-subheader a { color: var(--link-color); } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .infobox select { max-width: 300px; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: var(--body-dark); --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom h2 a { color: #fff !important; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 1681ef5aa4630c260a9019ccd3c2899453cd65cb 2221 2214 2024-04-11T16:15:09Z BlackHawk 10 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #afa19a; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #ece3de; --ooui-disabled-border: #e3d5ce; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .navbox .navbox-title { color: #fff; } .navbox .navbox-list:not(last-child) { border-bottom: none; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } .relative-location { background: var(--body-light); border: 1px solid var(--body-border); border-spacing: 0; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); text-align: center; } .relative-location-txt { color: var(--text-color); } .relative-location-header { background: var(--body-dark); } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-subheader); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox .infobox-buttons .button.button-selected { background: var(--table-header); } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-subheader a { color: var(--link-color); } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .infobox select { max-width: 300px; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: var(--body-dark); --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom h2 a { color: #fff !important; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 2aad25410c9cc98df41d1b860c1517232fb198eb 2227 2221 2024-04-11T16:19:28Z BlackHawk 10 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #afa19a; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #ece3de; --ooui-disabled-border: #e3d5ce; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .navbox .navbox-title { color: #fff; } .navbox .navbox-list:not(last-child) { border-bottom: none; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } .relative-location { background: var(--body-light); border: 1px solid var(--body-border); border-spacing: 0; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); text-align: center; } .relative-location-txt { color: #fff; } .relative-location-header { background: var(--body-dark); } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-subheader); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox .infobox-buttons .button.button-selected { background: var(--table-header); } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-subheader a { color: var(--link-color); } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .infobox select { max-width: 300px; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: var(--body-dark); --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom h2 a { color: #fff !important; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 814dc9b9e973361187dd006cf6929db78c11fe44 2234 2227 2024-04-11T16:25:00Z BlackHawk 10 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #afa19a; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #ece3de; --ooui-disabled-border: #e3d5ce; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .navbox .navbox-title { color: #fff; } .navbox .navbox-list:not(last-child) { border-bottom: none; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } .relative-location { background: var(--body-light); border: 1px solid var(--body-border); border-spacing: 0; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); text-align: center; } .relative-location-header { background: var(--body-dark); color: #fff; font-weight: bold; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-subheader); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox .infobox-buttons .button.button-selected { background: var(--table-header); } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-subheader a { color: var(--link-color); } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .infobox select { max-width: 300px; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: var(--body-dark); --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom h2 a { color: #fff !important; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 6633f2d30a6d8a93eef4ab9bf65a1b63a7fe0317 Template:Relative location 10 944 2215 2024-04-11T16:02:16Z BlackHawk 10 Created page with "{| class="relative-location" style="float:{{{float|right}}}; width:{{{width|200px}}}; clear:{{{clear|right}}};" {{#if:{{{image|}}}|{{!}}- {{!}}colspan="5"{{!}}{{{image}}} {{!}}- |}} | colspan="5" class="relative-location-header" |<span class="relative-location-txt">Relative location</span> |- | colspan="5" style="text-align:center;" |{{#if:{{{north|}}}|[[{{{north|}}}]]|}} |- | colspan="5" style="text-align:center;" |{{#if:{{{north|}}}|&uarr;|}} |- | style="width:25%" |{{..." wikitext text/x-wiki {| class="relative-location" style="float:{{{float|right}}}; width:{{{width|200px}}}; clear:{{{clear|right}}};" {{#if:{{{image|}}}|{{!}}- {{!}}colspan="5"{{!}}{{{image}}} {{!}}- |}} | colspan="5" class="relative-location-header" |<span class="relative-location-txt">Relative location</span> |- | colspan="5" style="text-align:center;" |{{#if:{{{north|}}}|[[{{{north|}}}]]|}} |- | colspan="5" style="text-align:center;" |{{#if:{{{north|}}}|&uarr;|}} |- | style="width:25%" |{{#if:{{{west|}}}|[[{{{west|}}}]]|}} | style="width:7.5%" |{{#if:{{{west|}}}|&larr;|}} | style="width:25%; align-items: center;" |'''{{{location|{{PAGENAME}}}}}''' | style="width:7.5%" |{{#if:{{{east|}}}|&rarr;|}} | style="width:25%" |{{#if:{{{east|}}}|[[{{{east|}}}]]|}} |- | colspan="5" style="text-align:center;" |{{#if:{{{south|}}}|&darr;|}} |- | colspan="5" style="text-align:center;" |{{#if:{{{south|}}}|[[{{{south|}}}]]|}} |}<noinclude>{{/doc}}</noinclude> {{Mainonly|[[Category:Locations]]}} a4ed14f8c3615fae14a04cf6715ff1535f14be60 2219 2215 2024-04-11T16:13:38Z BlackHawk 10 wikitext text/x-wiki {| class="relative-location" style="float:{{{float|right}}}; width:{{{width|300px}}}; clear:{{{clear|right}}};" {{#if:{{{image|}}}|{{!}}- {{!}}colspan="5"{{!}}{{{image}}} {{!}}- |}} | colspan="5" class="relative-location-header" |<span class="relative-location-txt">Relative location</span> |- | colspan="5" style="text-align:center;" |{{#if:{{{north|}}}|[[{{{north|}}}]]|}} |- | colspan="5" style="text-align:center;" |{{#if:{{{north|}}}|&uarr;|}} |- | style="width:25%" |{{#if:{{{west|}}}|[[{{{west|}}}]]|}} | style="width:7.5%" |{{#if:{{{west|}}}|&larr;|}} | style="width:25%; align-items: center;" |'''{{{location|{{PAGENAME}}}}}''' | style="width:7.5%" |{{#if:{{{east|}}}|&rarr;|}} | style="width:25%" |{{#if:{{{east|}}}|[[{{{east|}}}]]|}} |- | colspan="5" style="text-align:center;" |{{#if:{{{south|}}}|&darr;|}} |- | colspan="5" style="text-align:center;" |{{#if:{{{south|}}}|[[{{{south|}}}]]|}} |}<noinclude>{{/doc}}</noinclude> {{Mainonly|[[Category:Locations]]}} 3868a7fe0758bee36bb89e3f308cc19ed71d5bd2 2235 2219 2024-04-11T16:25:38Z BlackHawk 10 wikitext text/x-wiki {| class="relative-location" style="float:{{{float|right}}}; width:{{{width|300px}}}; clear:{{{clear|right}}};" {{#if:{{{image|}}}|{{!}}- {{!}}colspan="5"{{!}}{{{image}}} {{!}}- |}} | colspan="5" class="relative-location-header" | Relative location |- | colspan="5" style="text-align:center;" | {{#if:{{{north|}}}|[[{{{north|}}}]]|}} |- | colspan="5" style="text-align:center;" | {{#if:{{{north|}}}|&uarr;|}} |- | style="width:25%" | {{#if:{{{west|}}}|[[{{{west|}}}]]|}} | style="width:7.5%" | {{#if:{{{west|}}}|&larr;|}} | style="width:25%; align-items: center;" | '''{{{location|{{PAGENAME}}}}}''' | style="width:7.5%" | {{#if:{{{east|}}}|&rarr;|}} | style="width:25%" | {{#if:{{{east|}}}|[[{{{east|}}}]]|}} |- | colspan="5" style="text-align:center;" | {{#if:{{{south|}}}|&darr;|}} |- | colspan="5" style="text-align:center;" | {{#if:{{{south|}}}|[[{{{south|}}}]]|}} |}<noinclude>{{/doc}}</noinclude> {{Mainonly|[[Category:Locations]]}} b21da4483e94d269019e0b727a4e7a68f28b34ad Template:Relative location/doc 10 945 2216 2024-04-11T16:10:36Z BlackHawk 10 Created page with "{{documentation}} The '''Relative location''' template is used to display graphically where a location is in terms of other locations. Refer to the [[locations]] page to see what should be given the Relative Location template. ==Usage== <pre> {{Relative location |location = |north = |east = |south = |west = }} </pre> ==Examples== ===North, south, east, and west=== {{Relative location |location = Sea Road |north = |east = West Waterfront |south = East Beach |west =..." wikitext text/x-wiki {{documentation}} The '''Relative location''' template is used to display graphically where a location is in terms of other locations. Refer to the [[locations]] page to see what should be given the Relative Location template. ==Usage== <pre> {{Relative location |location = |north = |east = |south = |west = }} </pre> ==Examples== ===North, south, east, and west=== {{Relative location |location = Sea Road |north = |east = West Waterfront |south = East Beach |west = }} <pre> {{Relative location |location = Sea Road |north = |east = West Waterfront |south = East Beach |west = }} </pre> {{clear}} ===South only; width 400 pixels=== {{Relative location |location = Sea Road |width = 400px |south = East Beach }} <pre> {{Relative location |location = Sea Road |width = 400px |south = East Beach }} </pre> {{clear}} ===North, south, east, west; floated to the left=== {{Relative location |location = Sea Road |north = |east = West Waterfront |south = East Beach |west = |float = left }} <pre> {{Relative location |location = Sea Road |north = |east = West Waterfront |south = East Beach |west = |float = left }} </pre> <includeonly>[[Category:Navigational templates|{{PAGENAME}}]]</includeonly> 846273e194c7ce3936d3d896fbfd13d0048b9c9a Sea Road 0 813 2217 2026 2024-04-11T16:11:59Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Sea Road |image = [[File:Sea Road.jpg|280px]] |release = |premium = |episode = }} {{Relative location |location = Sea Road |north = |east = West Waterfront |south = East Beach |west = }} The '''Sea Road''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:37 / 1:41.|name=|group=}} It connects to the [[West Waterfront]] to the east and [[East Beach]] to the south. ==References== {{Reflist}} 9d011ee5970808ca094e5b7fbd9ea099c8aa8406 2253 2217 2024-04-11T17:14:34Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Sea Road |image = [[File:Sea Road.jpg|280px]] |release = Q3 [[2024]] |premium = No |episode = Hopeport }} {{Relative location |location = Sea Road |north = |east = West Waterfront |south = East Beach |west = }} The '''Sea Road''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:37 / 1:41.|name=|group=}} It connects to the [[West Waterfront]] to the east and [[East Beach]] to the south. ==References== {{Reflist}} 72da7cf1a7a40409395d0e366c009ee79274b059 West Waterfront 0 812 2218 2025 2024-04-11T16:13:17Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = West Waterfront |image = [[File:West Waterfront.jpg|280px]] |release = |premium = |episode = }} {{Relative location |location = West Waterfront |north = |east = Central Waterfront |south = |west = Sea Road }} The '''West Waterfront''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:27 / 1:41.|name=|group=}} It connects to the [[Central Waterfront]] to the east and [[Sea Road]] to the west. ==References== {{Reflist}} 2da6f40ee17dd9246853fc235ff32c9d78f48006 2254 2218 2024-04-11T17:14:40Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = West Waterfront |image = [[File:West Waterfront.jpg|280px]] |release = Q3 [[2024]] |premium = No |episode = Hopeport }} {{Relative location |location = West Waterfront |north = |east = Central Waterfront |south = |west = Sea Road }} The '''West Waterfront''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:27 / 1:41.|name=|group=}} It connects to the [[Central Waterfront]] to the east and [[Sea Road]] to the west. ==References== {{Reflist}} 70d672c1e17b0a7e0d7db6498652feb0e415118b Central Waterfront 0 811 2222 2024 2024-04-11T16:15:57Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Central Waterfront |image = [[File:Central Waterfront.jpg|280px]] |release = |premium = |episode = }} {{Relative location |location = Central Waterfront |north = Eel Street |east = |south = |west = West Waterfront }} The '''Central Waterfront''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:20 / 1:41.|name=|group=}} It connects with [[Eel Street]] to the north and the [[West Waterfront]] to the west. ==References== {{Reflist}} 65959de5c757fc45dd2507cf8efb9456e7a4d265 Eel Street 0 810 2223 2023 2024-04-11T16:16:37Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Eel Street |image = [[File:Eel Street.jpg|280px]] |release = |premium = |episode = }} {{Relative location |location = Eel Street |north = Eel Street Bridge |east = |south = Central Waterfront |west = }} '''Eel Street''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:13 / 1:41.|name=|group=}} It is connected to the [[Eel Street Bridge]] to the north and the [[Central Waterfront]] to the south. A [[fishmonger]] is located on Eel Street. ==References== {{Reflist}} 237e290498d745a065d0b6cdd4b5b09c2c9796eb Eel Street Bridge 0 809 2224 2021 2024-04-11T16:17:07Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Eel Street Bridge |image = [[File:Eel Street Bridge.jpg|280px]] |release = |premium = |episode = }} {{Relative location |location = Eel Street Bridge |north = Town Square |east = |south = Eel Street |west = }} The '''Eel Street Bridge''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:07 / 1:41.|name=|group=}} The bridge connects [[Eel Street]] to the south and the Hopeport [[Town Square]] to the north. ==References== {{Reflist}} 60b0e63054cedaa99199d61db70b8ccfe19911c5 Town Square 0 838 2225 2194 2024-04-11T16:17:40Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Town Square |image = [[File:Town_Square.jpg|280px]] |release = |premium = |episode = Hopeport }} {{Relative location |location = Town Square |north = |east = |south = Eel Street Bridge |west = }} The '''Town Square''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:00 / 1:41.|name=|group=}} It connects to the [[Eel Street Bridge]] in the south. [[Zeltay Tramagan]] sells items in the square. ==References== {{Reflist}} 97d28e113d3393990c4eb3d6a4ca504979a1e594 East Beach 0 814 2228 2027 2024-04-11T16:21:07Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = East Beach |image = [[File:East Beach.jpg|280px]] |release = |premium = |episode = }} {{Relative location |location = East Beach |north = Sea Road |east = |south = |west = Seashells Seashore }} The '''East Beach''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:39 / 1:41.|name=|group=}} It connects to [[Sea Road]] in the north and the [[Seashells Seashore]] to the west. ==References== {{Reflist}} 7f36f68e03482e6d2a04b921ba655f82e2c2c38b 2252 2228 2024-04-11T17:14:28Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = East Beach |image = [[File:East Beach.jpg|280px]] |release = Q3 [[2024]] |premium = No |episode = Hopeport }} {{Relative location |location = East Beach |north = Sea Road |east = |south = |west = Seashells Seashore }} The '''East Beach''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:39 / 1:41.|name=|group=}} It connects to [[Sea Road]] in the north and the [[Seashells Seashore]] to the west. ==References== {{Reflist}} a7a229fa6265e8f9e398e70ecd3e547aff6e2363 Seashells Seashore 0 815 2229 2028 2024-04-11T16:21:50Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Seashells Seashore |image = [[File:Seashells Seashore.jpg|280px]] |release = |premium = |episode = }} {{Relative location |location = Seashells Seashore |north = |east = East Beach |south = |west = Jellyfish Landing }} '''Seashells Seashore''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:49 / 1:41.|name=|group=}} It connects to the [[East Beach]] in the east and the [[Jellyfish Landing]] in the west. [[Shell]]s and a [[Rock Pool]] can be found on the beach. ==Trivia== * This location is most likely named after the well-known {{wp|tongue twister}} "she sells seashells by the seashore". ==References== {{Reflist}} 256c428e263ccf81f81d6a7616d9164d0385d05e 2251 2229 2024-04-11T17:14:22Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Seashells Seashore |image = [[File:Seashells Seashore.jpg|280px]] |release = Q3 [[2024]] |premium = No |episode = Hopeport }} {{Relative location |location = Seashells Seashore |north = |east = East Beach |south = |west = Jellyfish Landing }} '''Seashells Seashore''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:49 / 1:41.|name=|group=}} It connects to the [[East Beach]] in the east and the [[Jellyfish Landing]] in the west. [[Shell]]s and a [[Rock Pool]] can be found on the beach. ==Trivia== * This location is most likely named after the well-known {{wp|tongue twister}} "she sells seashells by the seashore". ==References== {{Reflist}} bf5b6f394fb8c4b192939a6834ebac540b3b7be2 Jellyfish Landing 0 816 2230 2030 2024-04-11T16:22:31Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Jellyfish Landing |image = [[File:Jellyfish Landing.jpg|280px]] |release = |premium = |episode = }} {{Relative location |location = Jellyfish Landing |north = Fallen Monument |east = Seashells Seashore |south = |west = }} '''Jellyfish Landing''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:56 / 1:41.|name=|group=}} It connects to the [[Fallen Monument]] in the north and the [[Seashells Seashore]] in the east. [[Jellyfish]] can be found in the waters of the beach. ==References== {{Reflist}} e6e6c451f4ad5b9af91f257bf450a628de54eeef 2250 2230 2024-04-11T17:11:56Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Jellyfish Landing |image = [[File:Jellyfish Landing.jpg|280px]] |release = Q3 [[2024]] |premium = No |episode = Hopeport }} {{Relative location |location = Jellyfish Landing |north = Fallen Monument |east = Seashells Seashore |south = |west = }} '''Jellyfish Landing''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:56 / 1:41.|name=|group=}} It connects to the [[Fallen Monument]] in the north and the [[Seashells Seashore]] in the east. [[Jellyfish]] can be found in the waters of the beach. ==References== {{Reflist}} 675067beeda5e213af3ef0a55f72cab73c0d5b97 Fallen Monument 0 817 2231 2034 2024-04-11T16:23:00Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Fallen Monument |image = [[File:Fallen Monument.jpg|280px]] |release = |premium = |episode = }} {{Relative location |location = Fallen Monument |north = Crater |east = |south = Jellyfish Landing |west = }} The '''Fallen Monument''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:03 / 1:41.|name=|group=}} It connects to the [[Crater]] in the north and the [[Jellyfish Landing]] in the south. [[Carnivorous Plant]]s can be found throughout the area. ==References== {{Reflist}} 038c5326d340955883b5cff713701a9e57145f70 2247 2231 2024-04-11T17:11:24Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Fallen Monument |image = [[File:Fallen Monument.jpg|280px]] |release = Q3 [[2024]] |premium = No |episode = Hopeport }} {{Relative location |location = Fallen Monument |north = Crater |east = |south = Jellyfish Landing |west = }} The '''Fallen Monument''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:03 / 1:41.|name=|group=}} It connects to the [[Crater]] in the north and the [[Jellyfish Landing]] in the south. [[Carnivorous Plant]]s can be found throughout the area. ==References== {{Reflist}} 8c672ccc420bc8fa984694b72e8448d2f8c8b1e9 Crater 0 820 2232 2101 2024-04-11T16:23:28Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Crater |image = [[File:Crater.jpg|280px]] |release = |premium = |episode = }} {{Relative location |location = Crater |north = Wasteland |east = |south = Fallen Monument |west = }} The '''Crater''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:23 / 1:41.|name=|group=}} It connects to the [[Wasteland]] in the north and the [[Fallen Monument]] in the south. [[Giant Ant]]s and [[Hogberries]] can be found in the Crater. Four [[Huge Monument Piece]]s are placed throughout the area. ==References== {{Reflist}} 9e003d40470da6e8362322747c47494473fddadf 2249 2232 2024-04-11T17:11:47Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Crater |image = [[File:Crater.jpg|280px]] |release = Q3 [[2024]] |premium = No |episode = Hopeport }} {{Relative location |location = Crater |north = Wasteland |east = |south = Fallen Monument |west = }} The '''Crater''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:23 / 1:41.|name=|group=}} It connects to the [[Wasteland]] in the north and the [[Fallen Monument]] in the south. [[Giant Ant]]s and [[Hogberries]] can be found in the Crater. Four [[Huge Monument Piece]]s are placed throughout the area. ==References== {{Reflist}} f89b7b8749ec38ad1ef03dde80fc2b217dc5fbc5 Wasteland 0 822 2236 2102 2024-04-11T16:26:03Z ToofleBerry 6 wikitext text/x-wiki {{Infobox Location |name = Wasteland |image = [[File:Wasteland.jpg|280px]] |release = |premium = |episode = }} {{Relative location |location = Wasteland |north = |east = |south = Crater |west = }} The '''Wasteland''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:34 / 1:41.|name=|group=}} It connects to the [[Crater]] in the south. Several [[Huge Monument Piece]]s are placed in the area. ==References== {{Reflist}} dcda296c87db14ea194c8020cba6ec6ff059ef60 2248 2236 2024-04-11T17:11:40Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Wasteland |image = [[File:Wasteland.jpg|280px]] |release = Q3 [[2024]] |premium = No |episode = Hopeport }} {{Relative location |location = Wasteland |north = |east = |south = Crater |west = }} The '''Wasteland''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 1:34 / 1:41.|name=|group=}} It connects to the [[Crater]] in the south. Several [[Huge Monument Piece]]s are placed in the area. ==References== {{Reflist}} 4f6d9a24d76a2ac9d33ce8fe84f623c7a1534663 File:Thief combat.jpg 6 946 2238 2024-04-11T17:01:56Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2239 2238 2024-04-11T17:02:10Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://brightershores.com/screenshots/16_thief_combat.jpg}} b67b7020b4601d2e5335b33791b78bfec3ff863b File:Cryoknight damage icon.png 6 947 2240 2024-04-11T17:09:20Z Yellowsap 63 [[Category:Interface images]] wikitext text/x-wiki == Summary == [[Category:Interface images]] 97d0b55fd7c3057d0d36a20b8810c22e635904b9 File:Fire damage icon.png 6 948 2241 2024-04-11T17:09:31Z Yellowsap 63 [[Category:Interface images]] wikitext text/x-wiki == Summary == [[Category:Interface images]] 97d0b55fd7c3057d0d36a20b8810c22e635904b9 File:Guardian damage icon.png 6 949 2242 2024-04-11T17:09:44Z Yellowsap 63 [[Category:Interface images]] wikitext text/x-wiki == Summary == [[Category:Interface images]] 97d0b55fd7c3057d0d36a20b8810c22e635904b9 File:Hammermage damage icon.png 6 950 2243 2024-04-11T17:09:54Z Yellowsap 63 [[Category:Interface images]] wikitext text/x-wiki == Summary == [[Category:Interface images]] 97d0b55fd7c3057d0d36a20b8810c22e635904b9 File:Necrotic damage icon.png 6 951 2244 2024-04-11T17:10:07Z Yellowsap 63 [[Category:Interface images]] wikitext text/x-wiki == Summary == [[Category:Interface images]] 97d0b55fd7c3057d0d36a20b8810c22e635904b9 File:Physical damage icon.png 6 952 2245 2024-04-11T17:10:17Z Yellowsap 63 [[Category:Interface images]] wikitext text/x-wiki == Summary == [[Category:Interface images]] 97d0b55fd7c3057d0d36a20b8810c22e635904b9 Damage 0 953 2246 2024-04-11T17:11:24Z Yellowsap 63 Created page with "{{Unofficial name}} [[File:Thief combat.jpg|thumb|right|A player taking Cryoknight damage.]] '''Damage''' is what is used to describe a monster's and/or player's attacks from their combat actions. Damage is split into different types and is possibly determined by the player's [[weapon]]. A weapon can also have no damage type. ==List of damage types== {| class="wikitable" ! colspan="2" | Types |- | [[File:Cryoknight damage icon.png|30px]] || Cryoknight |- | File:Fire d..." wikitext text/x-wiki {{Unofficial name}} [[File:Thief combat.jpg|thumb|right|A player taking Cryoknight damage.]] '''Damage''' is what is used to describe a monster's and/or player's attacks from their combat actions. Damage is split into different types and is possibly determined by the player's [[weapon]]. A weapon can also have no damage type. ==List of damage types== {| class="wikitable" ! colspan="2" | Types |- | [[File:Cryoknight damage icon.png|30px]] || Cryoknight |- | [[File:Fire damage icon.png|30px]] || Fire |- | [[File:Guardian damage icon.png|30px]] || Guardian |- | [[File:Hammermage damage icon.png|30px]] || Hammermage |- | [[File:Physical damage icon.png|30px]] || Physical |- | [[File:Necrotic damage icon.png|30px]] || Necrotic |} [[Category:Mechanics]] 82778f7ecd6e6d496a7f981c4398ee22042578d2 Central Waterfront 0 811 2255 2222 2024-04-11T17:14:46Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Central Waterfront |image = [[File:Central Waterfront.jpg|280px]] |release = Q3 [[2024]] |premium = No |episode = Hopeport }} {{Relative location |location = Central Waterfront |north = Eel Street |east = |south = |west = West Waterfront }} The '''Central Waterfront''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:20 / 1:41.|name=|group=}} It connects with [[Eel Street]] to the north and the [[West Waterfront]] to the west. ==References== {{Reflist}} 30ccbee8cf35b9d17082947bd14c50cc8b25a109 Eel Street 0 810 2256 2223 2024-04-11T17:14:52Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Eel Street |image = [[File:Eel Street.jpg|280px]] |release = Q3 [[2024]] |premium = No |episode = Hopeport }} {{Relative location |location = Eel Street |north = Eel Street Bridge |east = |south = Central Waterfront |west = }} '''Eel Street''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:13 / 1:41.|name=|group=}} It is connected to the [[Eel Street Bridge]] to the north and the [[Central Waterfront]] to the south. A [[fishmonger]] is located on Eel Street. ==References== {{Reflist}} 90e0a4e71e6b831092264efbadcd389c98f19b44 Eel Street Bridge 0 809 2257 2224 2024-04-11T17:15:01Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Eel Street Bridge |image = [[File:Eel Street Bridge.jpg|280px]] |release = Q3 [[2024]] |premium = No |episode = Hopeport }} {{Relative location |location = Eel Street Bridge |north = Town Square |east = |south = Eel Street |west = }} The '''Eel Street Bridge''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:07 / 1:41.|name=|group=}} The bridge connects [[Eel Street]] to the south and the Hopeport [[Town Square]] to the north. ==References== {{Reflist}} 8af82592f66f210cc7ff2a290ffad8c08cb1a12a Town Square 0 838 2258 2225 2024-04-11T17:15:08Z BlackHawk 10 wikitext text/x-wiki {{Infobox Location |name = Town Square |image = [[File:Town_Square.jpg|280px]] |release = Q3 [[2024]] |premium = No |episode = Hopeport }} {{Relative location |location = Town Square |north = |east = |south = Eel Street Bridge |west = }} The '''Town Square''' is a location in [[Hopeport (location)|Hopeport]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:00 / 1:41.|name=|group=}} It connects to the [[Eel Street Bridge]] in the south. [[Zeltay Tramagan]] sells items in the square. ==References== {{Reflist}} 6cbf4fc2551bd7e09ee5dcb94f6cc6c743ee867e Brighter Shores:Access levels 4 954 2259 2024-04-11T17:46:23Z BlackHawk 10 Created page with "{{Nutshell|All users on the Brighter Shores Wiki have the ability to view and read pages. A number of special user roles exist, with advanced rights.}} {{Shortcut|BS:AL|BS:ACCESS|BS:RIGHTS}} A contributor's ability to perform certain actions on the [[Brighter Shores:About|Brighter Shores Wiki]] depends on their '''access level'''. This is determined by whether the editor is logged into an account, whether the account has a sufficient age, and what additional rights have..." wikitext text/x-wiki {{Nutshell|All users on the Brighter Shores Wiki have the ability to view and read pages. A number of special user roles exist, with advanced rights.}} {{Shortcut|BS:AL|BS:ACCESS|BS:RIGHTS}} A contributor's ability to perform certain actions on the [[Brighter Shores:About|Brighter Shores Wiki]] depends on their '''access level'''. This is determined by whether the editor is logged into an account, whether the account has a sufficient age, and what additional rights have been assigned to the account. Everyone is able to read the Brighter Shores Wiki. Unless they are [[Brighter Shores:Block policy|blocked]], they may freely edit most pages without the need to be logged in. Further access levels need to be assigned manually by a user with the appropriate authority. Editors with more experience and good standing can request advanced permissions. This page provides a summary for each usergroup. For a full list of abilities available to usergroups, see [[Special:ListGroupRights]]. {{ToC|right}} ==Overview== All visitors to the site, including unregistered users, are part of the <code>'*'</code> group, and all logged-in users are also part of the <code>'user'</code> group. Others, such as <code>'sysop'</code> and <code>'bureaucrat'</code>, are given only after community discussion and consensus. ===Unregistered users=== Contributors who have not [[Special:CreateAccount|created an account]] or [[Special:UserLogin|logged in]] are identified by their IP address rather than a username, and may read all pages (except restricted [[Help:Special page|special pages]]), and edit pages that are not [[Brighter Shores:Protection policy|protected or semi-protected]]. They cannot upload files or images. They must answer a CAPTCHA if they wish to make an edit which involves the addition of one or more external links, and click a confirm link to purge pages. ===Registered users=== Users who've signed in can do everything IP addresses can do, but they can also upload files, move pages, maintain a watchlist, set preferences, and mark edits as minor. Users are automatically promoted into the <code>'autoconfirmed'</code> pseudo-group when their account is more than four days old and has at least five edits, giving them the ability to edit semi-protected pages. ==Local level== ===Bots=== {{Main|Brighter Shores:Bots}} Bots are automated accounts that perform certain tasks on the wiki. Bots have their edits flagged with a '''b''' in Special:RecentChanges, and have their edits hidden by default. A minor edit made by a bot to a user talk page will not trigger any notifications. See [[Special:ListUsers/bot]] for a list of the wiki's {{NUMINGROUP:bot}} bots. ===Administrators=== {{Main|Brighter Shores:Administrators}} Adminstrators have access to a number of tools to allow them to carry out certain functions on the wiki. The tools cover processes such as deletion, protection, blocking, and access to the MediaWiki interface. Administrators also take responsibility for judging the outcome of discussions on the [[BS:FG|Forum Grove]]. Administrator rights are granted by the community through [[Brighter Shores:Requests for adminship|Requests for adminship]]. See [[Special:ListUsers/sysop]] for a list of the wiki's {{NUMINGROUP:sysop}} administrators. ===Bureaucrats=== Bureaucrat rights are granted by the community to exceptionally trusted users who are allowed to perform certain actions on other users' accounts. Bureaucrats have all rights available to administrators, as well as extended access to [[Special:UserRights]], enabling them to add users to the <code>'bureaucrat'</code> group (but not remove them), and both add and remove users from the <code>'administrator'</code> and <code>'bot'</code> user groups. See [[Special:ListUsers/bureaucrat]] for a list of the wiki's {{NUMINGROUP:bureaucrat}} bureaucrats. ===CheckUsers=== {{Main|Brighter Shores:Check user}} Users who are in the <code>'checkuser'</code> usergroup have access to [[Special:CheckUser]]. They are able to view a list of all IP addresses used by a user account to edit the Brighter Shores Wiki, a list of all edits made by an IP, or all user accounts that have used an IP address. They may also view a log of such requests. As process for granting CheckUser has not yet been formalised, there are no local CheckUsers. See [[Special:ListUsers/checkuser]] for a list of the wiki's {{NUMINGROUP:checkuser}} CheckUsers. {{Help}} 89130c36ea74ccfd76ea683f18342d0ca1b50fce Brighter Shores:AL 4 955 2260 2024-04-11T17:46:48Z BlackHawk 10 Redirected page to [[Brighter Shores:Access levels]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:Access levels]] 8570502af55875a53d5d5d2e4c652cdaba185278 Brighter Shores:ACCESS 4 956 2261 2024-04-11T17:46:56Z BlackHawk 10 Redirected page to [[Brighter Shores:Access levels]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:Access levels]] 8570502af55875a53d5d5d2e4c652cdaba185278 Brighter Shores:RIGHTS 4 957 2262 2024-04-11T17:47:00Z BlackHawk 10 Redirected page to [[Brighter Shores:Access levels]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:Access levels]] 8570502af55875a53d5d5d2e4c652cdaba185278 Forum:Forum Grove 110 545 2263 948 2024-04-11T17:48:04Z BlackHawk 10 wikitext text/x-wiki {{Shortcut|BS:FG|FG|Forum Grove}} '''Forum Grove''' is a place where community members can discuss larger changes to the wiki, such as policy proposals or suggestions to substantially redesign content pages. As this page is viewed by a variety of editors, you can expect fair and centralised discussions. Broadly construed, if the community would be interested in the topic, start it here. Even if a discussion is taking place elsewhere, it may be appropriate to announce that discussion here as well. To add a new topic, type the title in the box below and click "Add new topic". <center><big>Please only post here if it concerns the Wiki.</big></center> <center>Threads on in-game discussion, such as requesting a Shield of Arrav partner may be deleted. Additionally, if you have any questions regarding the wiki, they may be answered on [[Brighter Shores:User help|User help]] or [[Brighter Shores:Administrator requests|Administrator requests]].</center> <div style="text-align:center;">'''[[Special:Recentchangeslinked/Category:{{PAGENAME}}|View recent changes for this forum]]''' {{*}} '''[[:Category:{{PAGENAME}}|View alphabetic list of topics]]''' {{*}} '''[[Brighter Shores:Forum Archives|View the archives]]'''</div> ---- <!-- <table width="100%"><tr><td><!-- You could create (or transclude) a forum header here --><!-- </td><td width="50%"> --> <inputbox> type=create prefix=Forum: preload=Template:Forumheader/{{PAGENAME}} buttonlabel=Add new topic </inputbox><!-- </td></tr></table> --> ==Active threads== {| class="discussiontable" style="width:100%" ! class="topic" style="width:55%" | Topic ! class="edited" style="width:25%" | Last edit ! class="edited-by" style="width:20%" | Last author |} <dpl> namespace=Forum category=Forum Grove notcategory=Forum archives by date closed notcategory=Brighter Shores Wiki community noresultsheader=There are no active discussions. shownamespace=false addlasteditor=true addeditdate=true ordermethod=lastedit order=descending mode=userformat include={forumheader}:%TITLE%:%DATE%:%USER% table=style="width:100%; border:0; margin-top:2px" class="dpltable",- tablerow=class="topic" style="width:55%"|[[Forum:%%|%%]],class="edited" style="width:25%"|{{#if:%%|{{#time:H:i&#44; j F Y|%%}}|–}},class="edited-by" style="width:20%"|{{#if:%%|[[User:%%|%%]]|–}} allowcachedresults=false </dpl> ==Archived threads== {| class="discussiontable archive" style="width:100%; margin-bottom:-2px" ! class="topic" style="width:45%" | Topic ! class="rg-archive" style="width:25%" | Archived on ! class="rg-archive" style="width:16%" | Archived by ! class="rg-archive" style="width:14%" | Forum type |} <dpl> namespace=Forum category=Forum archives by date closed shownamespace=false addlasteditor=true ordermethod=sortkey order=descending mode=userformat include={forumheader}:%TITLE%:date:user:type table=style="width:100%; border:0; margin-top:2px" class="dpltable archive",- tablerow=class="topic" style="width:45%"|[[Forum:%%|%%]],class="rg-archive" style="width:25%"|{{#if:%%|{{#time:H:i&#44; j F Y|%%}}|–}},class="rg-archive" style="width:16%"|{{#if:%%|[[User:%%|%%]]|–}},class="rg-archive" style="width:14%"|{{#if:%%|[[:Category:Forum archives/{{#switch:{{lc:%%}}|community=Community|content=Content|discussion=Discussion|miscellaneous|misc=Miscellaneous|policy=Policy|technical|tech=Technical|user-related|user=User-related|clan chat|clan=Clan chat|meta=Meta|%%}}|{{#switch:{{lc:%%}}|community=Community|content=Content|discussion=Discussion|miscellaneous|misc=Miscellaneous|policy=Policy|technical|tech=Technical|user-related|user=User-related|clan chat|clan=Clan chat|meta=Meta|%%}}]]|-}} allowcachedresults=false count={%DPL_count:25%} </dpl> [[Category:Brighter Shores Wiki community]] [[Category:Forum Grove| ]] b7b82f7a4cdf83aff21575dfa809b7b8408ec2d0 Brighter Shores:FG 4 958 2264 2024-04-11T17:48:16Z BlackHawk 10 Redirected page to [[Forum:Forum Grove]] wikitext text/x-wiki #REDIRECT [[Forum:Forum Grove]] 827d0794c13dd4fea3549f3a41ab3df53ac618af Forum Grove 0 959 2265 2024-04-11T17:48:21Z BlackHawk 10 Redirected page to [[Forum:Forum Grove]] wikitext text/x-wiki #REDIRECT [[Forum:Forum Grove]] 827d0794c13dd4fea3549f3a41ab3df53ac618af Help:Special page 12 960 2266 2024-04-11T17:51:21Z BlackHawk 10 Created page with "The [[Help:Namespace|namespace]] "Special:" consists of '''"special pages"'''. These have no corresponding wikitext; they are created by the software on demand. They are useful to see things going on in the wiki or looking at the wiki's statistics. This page is probably more useful for experienced users, though new users may also find it beneficial. ==Special pages for all users== All of the below linked Special pages produce content particular to this wiki. ;Special p..." wikitext text/x-wiki The [[Help:Namespace|namespace]] "Special:" consists of '''"special pages"'''. These have no corresponding wikitext; they are created by the software on demand. They are useful to see things going on in the wiki or looking at the wiki's statistics. This page is probably more useful for experienced users, though new users may also find it beneficial. ==Special pages for all users== All of the below linked Special pages produce content particular to this wiki. ;Special pages : [[Special:Specialpages]] : A list of all special pages for all users. ; Recent changes : [[Special:Recentchanges]] : The latest edits in the project. ;Upload file : [[Special:Upload]] : Upload a file to the wiki. ;Image list : [[Special:Imagelist]] : List of images uploaded that can be sorted by size or date ;New images : [[Special:Newimages]] : Gallery of new files. ;User list : [[Special:Listusers]] : A list of all registered users. ;Admins list : [[Special:Listadmins]] : A list of all [[RuneScape:Administrators|administrators]]; an automatic list is at [[Special:Listusers/Sysop]]. ;Statistics : [[Special:Statistics]] : Total number of pages, images, and users. ;Random page : [[Special:Randompage]] : Redirects to a random page from the main namespace which is not a redirect. Other namespaces can be specified as a parameter, eg: [[Special:Randompage/Talk]]. ;Orphaned pages : [[Special:Lonelypages]] : Articles with no links to them in the wiki. ;Uncategorised pages : [[Special:Uncategorizedpages]] : Pages without category tags. This page refreshes once or twice a day, so if you placed a category on a page without one, you will still see it listed on this page for awhile. ;Unused images : [[Special:Unusedimages]] ;Wanted pages : [[Special:Wantedpages]] : Articles which have been requested / most wanted, specifically those that have at least 2 incoming links, but do not exist. ;Short pages : [[Special:Shortpages]] : Pages in the main namespace, with size of the wikitext (excluding any templates used) in bytes, in order of increasing size. ;Long pages : [[Special:Longpages]] : Pages in the main namespace, with size in bytes, in order of decreasing size. ;New pages : [[Special:Newpages]] : Newest pages with creation date and time, current size, user who created the page, and first edit summary, in reverse order of creation. ;Oldest pages : [[Special:Ancientpages]] : Pages in the main namespace, with date and time of last edit, in order of last edit. ;Dead-end pages : [[Special:Deadendpages]] : Pages that do not link to any other articles. ;Double redirects : [[Special:Doubleredirects]] ;Broken redirects : [[Special:Brokenredirects]] ;What links here : [[Special:Whatlinkshere]] ;Most categories : [[Special:Mostcategories]] : Articles with the most categories. ;Most revisions : [[Special:Mostrevisions]] : Articles with the most revisions (edits). ;All pages : [[Special:Allpages]] : All pages in a specified namespace in alphabetical order, including redirects (italicised). ;All system messages : [[Special:Allmessages]] : Displays all pages in the [[Help:MediaWiki namespace|MediaWiki namespace]]. ;Pages starting with a given prefix : [[Special:Prefixindex]]; if the last character of the prefix is a space or underscore it is ignored. One of many important applications is to find subpages with "fullpagename/". ;Find external links : [[Special:Linksearch]] ;List of blocked IP addresses and usernames : [[Special:Ipblocklist]] : Currently blocked IPs and usernames. ;Book sources : [[Special:Booksources]] : ISBN Book Sources. ;Categories : [[Special:Categories]] : Lists all the categories in the wiki. ;Uncategorised categories : [[Special:Uncategorizedcategories]] ;Export pages : [[Special:Export]] : Produces an XML file containing the wikitext and metadata of either the current version only, or all revisions, of one or more pages, specified in the form of a list; the XML file is in the format required for Special:Import; exporting is typically done either in preparation of applying the latter at another MediaWiki project, or for searching within old page revisions. ;Version : [[Special:Version]] : Shows the version of the MediaWiki software the wiki is currently running, and a listing of extensions installed. ;Captcha :[[Special:Captcha]] : On projects supporting this <nowiki>[[mediazilla:4845|feature]]</nowiki>. ;Confirm your email address :[[Special:Confirmemail]] ;My preferences : [[Special:Preferences]] : Select preferences to customize the appearance and behaviour of the software. See [[Help:Preferences]]. ;My watchlist : [[Special:Watchlist]] : Show the pages you are watching. ;My page : [[Special:Mypage]] : Link to the user page of the user who follows it. ;My talk page : [[Special:Mytalk]] : Link to the talk page of the user who follows it. ;Edit count : [[Special:Editcount]] ;Login : [[Special:Userlogin]] : Creates new login cookie. ;Logout : [[Special:Userlogout]] : Destroys cookie. ==Restricted special pages== ;Block user : [[Special:Blockip]] : Sysop only. Used to block or unblock users, IPs and ranges of IPs. ;Import pages : [[Special:Import]] : Sysop only. Imports the wikitext and metadata of one or more revisions of one or more pages by uploading an XML file in the format produced by Special:Export (typically after applying the latter at another MediaWiki project). ;Unwatched pages : [[Special:Unwatchedpages]] : Sysop only. Shows pages not watched by any user. ;Restore deleted page : [[Special:Undelete]] : Sysop only. View deleted pages. ==Logs== [[Special:Log]] - Combined display of various logs. You can narrow down the view by: *Selecting a log type, including: ** [[Special:Log/block|Block log]] - Blocks and unblocks. ** [[Special:Log/protect|Protection log]] - Protected and unprotected pages. ** [[Special:Log/rights|User rights log]] - Dates when users were given admin status or had it removed. ** [[Special:Log/delete|Deletion log]] - Deleted and undeleted pages. ** [[Special:Log/upload|Upload log]] - List of images uploaded. ** [[Special:Log/move|Move log]] - Pages moved. ** [[Special:Log/import|Import log]] - Imports. ** [[Special:Log/gvrollback|Rollback rights log]] - Changes to non-sysops' rollback rights. *entering the full name without prefix of the acting user (usual case-sensitivity) *entering the full name of the affected page (usual case-sensitivity, e.g. "Image:Map South Holland.png"), or the full name including prefix of the affected user (in the case of blocking, setting user rights, setting bot status, and user creation) or without prefix (in the case of renaming a user) It does not seem possible to search by editor for edits of deleted pages. They can only be seen by a sysop with Special:Undelete if the exact page name is known. There are no logs available on the site for: *adding or removing a page from a user's list of page to watch (the user can only view the current state) *change of preferences of a user (ditto) *viewing a page *editing and previewing a page without saving *applying [[Special:Export]] *unfinished operations (e.g. an attempted page move) ==Miscellaneous== *Special pages can be linked to as usual, like [[Special:Recentchanges]]. *Special pages requiring a target page may give an error message if the target is not supplied: ::[[Special:Recentchangeslinked/Help:Template]] ::[[Special:Whatlinkshere/Help:Template]] or prompt for the target if it was not supplied yet; with target the link is e.g. ::[[Special:Linksearch/*.kennisnet.nl]] *Special pages requiring a target user: ::[[Special:Contributions/User]] *Special page allowing a starting page: ::[[Special:Allpages/Template]] (Standard prefixes are ignored, compare [[Special:Allpages/Template:C]]) ::In some cases the full URL has to be given, like an external link, for example https://runescape.wiki/index.php?title=Special:Recentchanges&days=3&limit=10 (last 10 changes). ::[[Special:Random/Template]] *Some special pages can be included, such as [[Special:Newpages|Newpages]], [[Special:Wantedpages|Wantedpages]], [[Special:Allpages|Allpages]], [[Special:Prefixindex|Prefixindex]], and [[Special:Recentchanges|Recentchanges]]. ::<nowiki>{{</nowiki>[[Special:Newpages]]/5<nowiki>}}</nowiki> gives 5 new pages: {{Special:Newpages/5}} {{Help}} a565a025641853205be062cebd349fd0bd3a095c Brighter Shores:Forum Grove 4 961 2267 2024-04-11T18:00:17Z BlackHawk 10 Redirected page to [[Forum:Forum Grove]] wikitext text/x-wiki #REDIRECT [[Forum:Forum Grove]] 827d0794c13dd4fea3549f3a41ab3df53ac618af Help:Namespace 12 962 2268 2024-04-11T18:00:50Z BlackHawk 10 Created page with "{{shortcut|H:NAME}} '''Namespace'''s are the basic grouping system for pages on the wiki. Generally the namespace describes the base purpose of the page, for example articles about things in Brighter Shores (items, monsters, etc are in the ''main'' (no prefix) namespace. __NOTOC__ ==Primary Brighter Shores Wiki namespaces== For a complete list [https://brightershoreswiki.org/api.php?action=query&meta=siteinfo&siprop=namespaces&formatversion=2 use this api query]. ===Fo..." wikitext text/x-wiki {{shortcut|H:NAME}} '''Namespace'''s are the basic grouping system for pages on the wiki. Generally the namespace describes the base purpose of the page, for example articles about things in Brighter Shores (items, monsters, etc are in the ''main'' (no prefix) namespace. __NOTOC__ ==Primary Brighter Shores Wiki namespaces== For a complete list [https://brightershoreswiki.org/api.php?action=query&meta=siteinfo&siprop=namespaces&formatversion=2 use this api query]. ===Forum=== The [{{fullurl:Special:AllPages|namespace=110}} ''Forum:''] namespace is used for [[Brighter Shores:Forum Grove]] discussion pages. ===Template=== The [{{fullurl:Special:AllPages|namespace=10}} ''Template:''] namespace is used for templates to be transcluded on other pages. ===Module=== The [{{fullurl:Special:AllPages|namespace=828}} ''Module:''] namespace is used to house code for modules written in [[Brighter Shores:Lua|Lua]] ({{WP|Lua|Wikipedia entry}}). For an examples, see [[RuneScape:Lua/Modules|here]]. ==Complete list== {| class="wikitable" style="margin-left: 2em" |+Namespace IDs ! Namespace !! Article ID !! Talk ID |- | Media || -2 || N/A |- | Special || -1 || N/A |- | (main) || 0 || 1 |- | User || 2 || 3 |- | Brighter Shores || 4 || 5 |- | File || 6 || 7 |- | MediaWiki || 8 || 9 |- | Template || 10 || 11 |- | Help || 12 || 13 |- | Category || 14 || 15 |- | Update || 100 || 101 |- | Forum || 110 || 111 |- | Property || 302 || 303 |- | Concept || 308 || 309 |- | smw/schema || 312 || 313 |- | Rule || 314 || 315 |- | Module || 828 || 829 |- | Gadget || 2300 || 2301 |- | Gadget definition || 2302 || 2303 |} {{Help}} 215f51e0bc301c770b48057b24a55c269d7ed0f3 2269 2268 2024-04-11T18:01:21Z BlackHawk 10 wikitext text/x-wiki {{shortcut|H:NAME}} '''Namespace'''s are the basic grouping system for pages on the wiki. Generally the namespace describes the base purpose of the page, for example articles about things in Brighter Shores (items, monsters, etc.) are in the ''main'' (no prefix) namespace. __NOTOC__ ==Primary Brighter Shores Wiki namespaces== For a complete list [https://brightershoreswiki.org/api.php?action=query&meta=siteinfo&siprop=namespaces&formatversion=2 use this api query]. ===Forum=== The [{{fullurl:Special:AllPages|namespace=110}} ''Forum:''] namespace is used for [[Brighter Shores:Forum Grove]] discussion pages. ===Template=== The [{{fullurl:Special:AllPages|namespace=10}} ''Template:''] namespace is used for templates to be transcluded on other pages. ===Module=== The [{{fullurl:Special:AllPages|namespace=828}} ''Module:''] namespace is used to house code for modules written in [[Brighter Shores:Lua|Lua]] ({{WP|Lua|Wikipedia entry}}). For an examples, see [[RuneScape:Lua/Modules|here]]. ==Complete list== {| class="wikitable" style="margin-left: 2em" |+Namespace IDs ! Namespace !! Article ID !! Talk ID |- | Media || -2 || N/A |- | Special || -1 || N/A |- | (main) || 0 || 1 |- | User || 2 || 3 |- | Brighter Shores || 4 || 5 |- | File || 6 || 7 |- | MediaWiki || 8 || 9 |- | Template || 10 || 11 |- | Help || 12 || 13 |- | Category || 14 || 15 |- | Update || 100 || 101 |- | Forum || 110 || 111 |- | Property || 302 || 303 |- | Concept || 308 || 309 |- | smw/schema || 312 || 313 |- | Rule || 314 || 315 |- | Module || 828 || 829 |- | Gadget || 2300 || 2301 |- | Gadget definition || 2302 || 2303 |} {{Help}} 3a7bb9ce6235aebb1281483ef3920858cd64f877 MediaWiki:Common.less/templates.less 8 25 2270 2233 2024-04-11T18:18:38Z BlackHawk 10 less less /* ================== TEMPLATES ==================*/ :root { --keypress-background: @gallery; --keypress-border: @silver; --keypress-color: @mineshaft; } // TOC .toc { .toctitle > * { color: @white; } } // NAVBOX .navbox { .navbox-title { color: @white; } } // Template:Archive list .archivelist { background-color: @infobox-background; border: solid 1px @infobox-border-color; box-shadow: @box-shadow; float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } // Template:Shortcut .shortcut { border: 1px solid @infobox-border-color; background: @infobox-background; float: right; font-size: .8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } // Hatnotes: [[Module:Hatnote]] .hatnote, .seealso { font-style: italic; i { font-style: normal; } } // two classes - hatnote gets much customisation in minerva but seealso doesnt div.hatnote, div.seealso { // 0.5em is <p>'s top and bottom margin // 1.6em to match <dd>/<ul> indent margin: .5em 1.6em; & + & { margin-top: -0.5em; } } // Template:Key press .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: @border-radius; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } // Template:Relative location .relative-location { background: @infobox-background; border: 1px solid @infobox-border-color; border-spacing: 0; box-shadow: @box-shadow; text-align: center; &-header { background: @infobox-header-color; color: @white; font-weight: bold; } } 620a1518a30d4e97d0ed4215f0bdbf5bf12bb2fb 2302 2270 2024-04-11T20:28:17Z Merds 25 less less /* ================== TEMPLATES ==================*/ :root { --keypress-background: @gallery; --keypress-border: @silver; --keypress-color: @mineshaft; } // TOC .toc { .toctitle > * { color: @white; .toctogglelabel { color: var(--table-header-link); } } } // NAVBOX .navbox { .navbox-title { color: @white; a { color: var(--table-header-link); } } } // Template:Archive list .archivelist { background-color: @infobox-background; border: solid 1px @infobox-border-color; box-shadow: @box-shadow; float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } // Template:Shortcut .shortcut { border: 1px solid @infobox-border-color; background: @infobox-background; float: right; font-size: .8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } // Hatnotes: [[Module:Hatnote]] .hatnote, .seealso { font-style: italic; i { font-style: normal; } } // two classes - hatnote gets much customisation in minerva but seealso doesnt div.hatnote, div.seealso { // 0.5em is <p>'s top and bottom margin // 1.6em to match <dd>/<ul> indent margin: .5em 1.6em; & + & { margin-top: -0.5em; } } // Template:Key press .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: @border-radius; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } // Template:Relative location .relative-location { background: @infobox-background; border: 1px solid @infobox-border-color; border-spacing: 0; box-shadow: @box-shadow; text-align: center; &-header { background: @infobox-header-color; color: @white; font-weight: bold; } } 4541ff847a8d77a3a912adc3f9a53c76e604ae1c MediaWiki:Common.css 8 30 2271 2234 2024-04-11T18:18:45Z BlackHawk 10 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #6e452b; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #afa19a; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #ece3de; --ooui-disabled-border: #e3d5ce; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .navbox .navbox-title { color: #fff; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } .relative-location { background: var(--body-light); border: 1px solid var(--body-border); border-spacing: 0; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); text-align: center; } .relative-location-header { background: var(--body-dark); color: #fff; font-weight: bold; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-subheader); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox .infobox-buttons .button.button-selected { background: var(--table-header); } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-subheader a { color: var(--link-color); } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .infobox select { max-width: 300px; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: var(--body-dark); --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom h2 a { color: #fff !important; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } cf87e166e8be216a877a0f93f8c6cc06eb3e57fe 2301 2271 2024-04-11T19:51:25Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #ab6d46; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #afa19a; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #ece3de; --ooui-disabled-border: #e3d5ce; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .navbox .navbox-title { color: #fff; } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } .relative-location { background: var(--body-light); border: 1px solid var(--body-border); border-spacing: 0; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); text-align: center; } .relative-location-header { background: var(--body-dark); color: #fff; font-weight: bold; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-subheader); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox .infobox-buttons .button.button-selected { background: var(--table-header); } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-subheader a { color: var(--link-color); } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .infobox select { max-width: 300px; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: var(--body-dark); --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom h2 a { color: #fff !important; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 44f1a995d8e5150bca040ac5cc75ac177be14985 Template:Help 10 963 2272 2024-04-11T18:22:57Z BlackHawk 10 Created page with "{{Navbox |name = Help |title = [[Help:Contents|Help]] |style1 = text-align:center |group1 = * [[Help:Editing/Your first edit|Your first edit]] * [[Help:Editing|Editing guides]] * [[Brighter Shores:Policies|Policies]] |gtitle2 = General |group2 = * [[Help:Toolbar|Toolbar]] * [[Help:APIs|APIs]] * [[Help:Audio|Audio files]] * [[Help:Archive|Archiving]] * [[Help:Creating a page|Creating pages]] * [[Help:Editing|Editing]] * [[Help:Namespace|Namespaces]] * Help:Pr..." wikitext text/x-wiki {{Navbox |name = Help |title = [[Help:Contents|Help]] |style1 = text-align:center |group1 = * [[Help:Editing/Your first edit|Your first edit]] * [[Help:Editing|Editing guides]] * [[Brighter Shores:Policies|Policies]] |gtitle2 = General |group2 = * [[Help:Toolbar|Toolbar]] * [[Help:APIs|APIs]] * [[Help:Audio|Audio files]] * [[Help:Archive|Archiving]] * [[Help:Creating a page|Creating pages]] * [[Help:Editing|Editing]] * [[Help:Namespace|Namespaces]] * [[Help:Preferences|Preferences]] * [[Help:Revert|Revert]] * [[Help:Searching|Searching]] * [[Help:Special page|Special pages]] * [[Brighter Shores:Access levels|User access levels]] * [[Help:Automatic edit summaries|Automatic edit summaries]] * [[Help:Bots|Bots]] * [[Help:Cache|Cache]] * [[Help:Bypass your cache|Bypass your cache]] * [[Help:Changing your username|Changing your username]] * [[Help:Colour codes|Colour codes]] * [[Help:Customising skins|Customising skins]] * [[Help:Customising your signature|Customising your signature]] * [[Help:Email notification|Email notification]] * [[Help:Gallery|Gallery]] * [[Help:Image copyright tags|Image copyright tags]] * [[Help:Images|Images]] * [[Help:Interlanguage links|Interlanguage links]] * [[Help:Job queue|Job queue]] * [[Help:Links|Links]] * [[Help:List|List]] * [[Help:Magic words|Magic words]] * [[Help:Moving pages|Moving pages]] * [[Help:Notifications|Notifications]] * [[Help:Redirects|Redirects]] |gtitle3 = [[Help:Gadgets|Gadgets]] |group3 = * |gtitle4 = [[Help:Extensions|Extensions]] |group4 = * [[Help:Magic words|Magic words]] * [[Help:Parser functions|Parser functions]] * [[Help:Editing/DPL guide|DPL 3]] |gtitle5 = [[Brighter Shores:Administrators|Administrator]] |group5 = * [[Help:Administrators' how-to guide|Administrators' how-to guide]] * [[Help:MediaWiki namespace|MediaWiki namespace]] * [[Help:Blocking users|Blocking users]] * [[Help:Deletion|Deletion]] * [[Help:Bureaucrats' how-to guide|Bureaucrats' how-to guide]] }}<includeonly>[[Category:Help]]</includeonly> ca4de246306fbeaf6c7e8eb1f58c3476e860e519 Brighter Shores:Policies 4 470 2273 1087 2024-04-11T18:23:46Z BlackHawk 10 wikitext text/x-wiki To ensure that people can contribute in good faith to the wiki, the Brighter Shores Wiki has several easy-to-follow policies. These are generally modelled on similar wikis of this nature, including Wikipedia. The key to maintaining a successful wiki is by making decisions through [[wikipedia:Wikipedia:Consensus|consensus]], which is what we aim to do at all times. ==Community policies== * '''Ownership''' – Users do not own the pages and files they edit or create. They exist to better the wiki in some shape or form. * '''Protection''' – Unless there are reasonable grounds for protecting one, pages should remain fully editable by users to ensure wide collaboration is possible. * '''Status and opinion-weight''' – An editor should not be treated differently or have any extra weight on their opinions based on their experience or status. * '''Three-revert rule''' – Explain the changes you make in the edit summary. Rather than engaging in a revert war with another user, discuss it in the talk page. * '''Use common sense''' – Common sense takes precedence over any policy. Be reasonable. ==Content policies== * '''Granularity''' – Anything notable, excluding players, may have its own article. * '''Neutral point of view''' – Pages on the wiki should always be written from a neutral point of view. * '''Spoilers''' – Articles may contain content that spoils some of the game. There are no warnings on the wiki, so viewers should read at their own risk. * '''Assume good faith''' – Always assume that an editor's actions were an attempt to improve the wiki. * '''Don't delete discussions''' – Don't delete previous discussions. These include user talk pages. * '''Don't edit userpages''' – There's no reason to edit another user's pages under most circumstances. * '''Blocking users''' – Disruptive users can be blocked from editing by administrators. Blocked users can still read all pages, but can't edit any page except their user talk page. * '''Treating other users with respect''' – Be nice and don't try to cause unnecessary strife. {{Help}} d288918dcdf00ec28ca3ba9dea4c1f92a6146a72 Category:Help 14 964 2274 2024-04-11T18:25:15Z BlackHawk 10 Created page with "{{Categoryheader|pages|[[Help:Contents]]||}} [[Category:Brighter Shores Wiki community|Help]]" wikitext text/x-wiki {{Categoryheader|pages|[[Help:Contents]]||}} [[Category:Brighter Shores Wiki community|Help]] f08a440bba422afca2636a7a8ba90df5a00a083f Brighter Shores:Discord 4 965 2275 2024-04-11T18:38:32Z BlackHawk 10 Redirected page to [[Meta:Discord]] wikitext text/x-wiki #REDIRECT [[Meta:Discord]] 84d3e749ca7554eacbeace6521aae4e5f1fb1946 Brighter Shores:Check user 4 966 2276 2024-04-11T18:39:49Z BlackHawk 10 Created page with "{{shortcut|BS:CHECK|BS:CHECKUSER}} '''CheckUser''' is a tool which is used by users in the checkuser group to effectively fight vandalism. ==Applications== Checkuser has three major applications: * Finding the range of IPs which are vandalising, so the said range can be blocked. * Finding what IP a vandalising account uses, for the purpose of effectively blocking it. * Finding which users use a common IP, for looking into abuse of multiple accounts. Under no circumst..." wikitext text/x-wiki {{shortcut|BS:CHECK|BS:CHECKUSER}} '''CheckUser''' is a tool which is used by users in the checkuser group to effectively fight vandalism. ==Applications== Checkuser has three major applications: * Finding the range of IPs which are vandalising, so the said range can be blocked. * Finding what IP a vandalising account uses, for the purpose of effectively blocking it. * Finding which users use a common IP, for looking into abuse of multiple accounts. Under no circumstances is the CheckUser tool to be used in any other fashion, and especially not by a curious checkuser who wants to know a user's IP. ==CheckUser log== The CheckUser Log is available to other CheckUsers [[Special:CheckUserLog|here]]. However, as only CheckUsers can see the log, CheckUsers are encouraged to log their actions [[/Log|here]] for all users to see, but removing the data that can be used to link users and their IPs (as a CheckUser use typically involves getting an account's IP(s), then checking the accounts associated with the IP(s), thus a raw log is easy to deduce what IP corresponds to what user). An example log entry is below: {{Checkuser log|type=ip|date=22:53, 11 April 2024|checker=Example|user=Insert vandal|reason=reason|follow=y}} Which uses the code: <pre>{{Checkuser log|type=ip|date=22:53, 11 April 2024|checker=Example|user=Insert vandal|reason=reason|follow=y}}</pre> ==Requesting a CheckUser== If you need a checkuser and the situation conforms to the above rules, you can either contact [[Special:ListUsers/checkuser|one of the checkusers]] directly (via their talk page, [[Brighter Shores:Discord|Discord]], or any other method), or post a request on [[Brighter Shores:Administrator requests|Administrator requests]]. [[Category:Brighter Shores Wiki community|CheckUser]] bff48144f8e7d5b1917d4b7010a417d258606ce8 Brighter Shores:Check user/Log 4 967 2277 2024-04-11T18:41:03Z BlackHawk 10 Created page with "This is a log of checkuser actions performed. Please only log actions performed on accounts. Do not list actions performed on IP addresses. {{Checkuser log|type=ip|date=22:53, 11 April 2024|checker=Example|user=Insert vandal|reason=reason|follow=y}}" wikitext text/x-wiki This is a log of checkuser actions performed. Please only log actions performed on accounts. Do not list actions performed on IP addresses. {{Checkuser log|type=ip|date=22:53, 11 April 2024|checker=Example|user=Insert vandal|reason=reason|follow=y}} f0cdf9130072e5e3407be46ba58d8a64903a1213 2278 2277 2024-04-11T18:42:05Z BlackHawk 10 wikitext text/x-wiki {{Shortcut|BS:CHECK/L}} __NOINDEX__ This is a log of checkuser actions performed. Please only log actions performed on accounts. Do not list actions performed on IP addresses. {{Checkuser log|type=ip|date=22:53, 11 April 2024|checker=Example|user=Insert vandal|reason=reason|follow=y}} 175957d146b36704aee14aa1fc968c210ee49235 Category:Noindexed pages 14 968 2279 2024-04-11T18:42:26Z BlackHawk 10 Created page with "{{Categoryheader|pages|those with <code><nowiki>__NOINDEX__</nowiki></code> to prevent search engines from caching data|||static=no}} __NOINDEX__ {{Hidden category}} [[Category:Tracking categories]]" wikitext text/x-wiki {{Categoryheader|pages|those with <code><nowiki>__NOINDEX__</nowiki></code> to prevent search engines from caching data|||static=no}} __NOINDEX__ {{Hidden category}} [[Category:Tracking categories]] 344aacea79bc2b9b5b4d30f2213835d76a21ffc2 Brighter Shores:CHECK 4 969 2280 2024-04-11T18:42:53Z BlackHawk 10 Redirected page to [[Brighter Shores:Check user]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:Check user]] 3716919ff80354b86c8c93e067f541295b267a07 Brighter Shores:CHECKUSER 4 970 2281 2024-04-11T18:42:57Z BlackHawk 10 Redirected page to [[Brighter Shores:Check user]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:Check user]] 3716919ff80354b86c8c93e067f541295b267a07 Template:Checkuser log 10 971 2282 2024-04-11T18:43:54Z BlackHawk 10 Created page with "<includeonly>*{{#ifexpr:{{#if:{{{date|}}}|0|1}}=1 or {{#if:{{{checker|}}}|0|1}}=1 or {{#if:{{{user|}}}|0|1}}=1|<span class="error">'''Error: Missing parameters (date, checker, or user)'''</span>|{{#switch:{{lc:{{{type|ips}}}}} |ips |ip={{#vardefine:type|IP addresses}} |users |user={{#vardefine:type|users}} |edits |edit={{#vardefine:type|edits}} }}}}{{{date}}}, [[User:{{{checker}}}|{{{checker}}}]] got {{#var:type}} for [[User:{{{user}}}|{{{user}}}]] (User talk:{{{user}}..." wikitext text/x-wiki <includeonly>*{{#ifexpr:{{#if:{{{date|}}}|0|1}}=1 or {{#if:{{{checker|}}}|0|1}}=1 or {{#if:{{{user|}}}|0|1}}=1|<span class="error">'''Error: Missing parameters (date, checker, or user)'''</span>|{{#switch:{{lc:{{{type|ips}}}}} |ips |ip={{#vardefine:type|IP addresses}} |users |user={{#vardefine:type|users}} |edits |edit={{#vardefine:type|edits}} }}}}{{{date}}}, [[User:{{{checker}}}|{{{checker}}}]] got {{#var:type}} for [[User:{{{user}}}|{{{user}}}]] ([[User talk:{{{user}}}|Talk]] {{!}} [[Special:Contributions/{{{user}}}|contribs]]){{#if:{{{follow|}}}|, and followed up by getting user(s) for the IP(s) returned}} {{#if:{{{reason|}}}|(''{{{reason}}}'')}}</includeonly><noinclude>{{/doc}}</noinclude> 3b357e9f1f6fa933e042e1a0bf44b29ce31ac899 Template:Checkuser log/doc 10 972 2283 2024-04-11T18:44:19Z BlackHawk 10 Created page with "{{Documentation}} The '''checkuser log''' template is used on [[Brighter Shores:Check user/Log]] to format the entries. ==Parameters== <pre>{{Checkuser log |type= |date= |checker= |user= |reason= |follow= }}</pre> * <code>type</code> - the type of checkuser carried out, either: '''ip''' (for getting IPs from a username) or '''edit''' (for getting edits from a username) * <code>date</code> - the date and time that the checkuser was carried out. This will be converted to..." wikitext text/x-wiki {{Documentation}} The '''checkuser log''' template is used on [[Brighter Shores:Check user/Log]] to format the entries. ==Parameters== <pre>{{Checkuser log |type= |date= |checker= |user= |reason= |follow= }}</pre> * <code>type</code> - the type of checkuser carried out, either: '''ip''' (for getting IPs from a username) or '''edit''' (for getting edits from a username) * <code>date</code> - the date and time that the checkuser was carried out. This will be converted to a consistent format in UTC. * <code>checker</code> - the user carrying out the check. Do not include the User: prefix. * <code>user</code> - the user being checked. Do not list checks performed on IP addresses. * <code>reason</code> - the reason given for the check, preferably the same reason as given on the checkuser form. * <code>follow</code> - if you followed up getting IPs from a username with a check for users from those IPs, then define this variable. This allows actions performed on IPs to be recorded without listing the IPs in question for privacy. <includeonly>[[Category:Formatting templates|{{PAGENAME}}]]</includeonly> 004191d600b21e08590a4372355e9b727b40a8b5 Brighter Shores:CHECK/L 4 973 2284 2024-04-11T18:44:39Z BlackHawk 10 Redirected page to [[Brighter Shores:Check user/Log]] wikitext text/x-wiki #REDIRECT [[Brighter Shores:Check user/Log]] 30834cb97ee8e468b92decd23fc0c7521f2fe9b1 Template:Soft redirect 10 974 2285 2024-04-11T18:46:07Z BlackHawk 10 Created page with "<div class="soft-redirect" style="display: flex; margin-top: 2em; margin-bottom: 1.5em"> <div style="margin-top: 0.15em">[[File:Redirect-arrow.svg|64px|Soft redirect to:|link=]]</div> <div><span style="font-size: 140%">[[{{{1}}}|{{{2|{{{1}}}}}}]]</span><br /><span style="font-size: 90%">This page is a {{Wp|Wikipedia:Soft redirect|soft redirect|class=}}.</span></div> </div><includeonly>[[Category:Soft redirects]]</includeonly><noinclude>{{/doc}}</noinclude>" wikitext text/x-wiki <div class="soft-redirect" style="display: flex; margin-top: 2em; margin-bottom: 1.5em"> <div style="margin-top: 0.15em">[[File:Redirect-arrow.svg|64px|Soft redirect to:|link=]]</div> <div><span style="font-size: 140%">[[{{{1}}}|{{{2|{{{1}}}}}}]]</span><br /><span style="font-size: 90%">This page is a {{Wp|Wikipedia:Soft redirect|soft redirect|class=}}.</span></div> </div><includeonly>[[Category:Soft redirects]]</includeonly><noinclude>{{/doc}}</noinclude> 79670194c54ff03a985bb25ca77af50b79f5a5f7 Template:Soft redirect/doc 10 975 2286 2024-04-11T18:46:47Z BlackHawk 10 Created page with "{{Documentation}} This template creates a notice for '''soft redirects''', a replacement of usual or "hard" redirects used when the destination is a sister wiki (such as the Meta Wiki) or a Wikimedia site (such as Wikipedia). ==Usage== {{T|Soft redirect|''destination''|''alternate title''}} <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly>" wikitext text/x-wiki {{Documentation}} This template creates a notice for '''soft redirects''', a replacement of usual or "hard" redirects used when the destination is a sister wiki (such as the Meta Wiki) or a Wikimedia site (such as Wikipedia). ==Usage== {{T|Soft redirect|''destination''|''alternate title''}} <includeonly>[[Category:Transclusion templates|{{PAGENAME}}]]</includeonly> 5d00650b1741f30db458f8aa582a2d7e91d2108a Help:Changing your username 12 976 2287 2024-04-11T18:47:09Z BlackHawk 10 Created page with "{{Soft redirect|meta:User renames}}" wikitext text/x-wiki {{Soft redirect|meta:User renames}} d7b1f59f42c392b993ed7f74ab00951a57065e3e Category:Soft redirects 14 977 2288 2024-04-11T18:47:52Z BlackHawk 10 Created page with "{{Categoryheader|pages|soft redirects|yes|{{T|Soft redirect}}}} [[Category:Maintenance categories]]" wikitext text/x-wiki {{Categoryheader|pages|soft redirects|yes|{{T|Soft redirect}}}} [[Category:Maintenance categories]] 94733310502a43c82d68ac560d8ee92c5b512d0f Help:Automatic edit summaries 12 978 2289 2024-04-11T18:48:42Z BlackHawk 10 Created page with "'''Automatic edit summaries''' are created when certain actions are performed and an alternate summary is not provided. These summaries will be saved in the page histories indefinitely and may not be altered. Automatic edit summaries appear when: * Blanking a page * Replacing most of a page * Creating a new page * Redirecting a page * Undoing or reverting an edit Furthermore, when editing a specific section of a page or creating a new section, the section title will ap..." wikitext text/x-wiki '''Automatic edit summaries''' are created when certain actions are performed and an alternate summary is not provided. These summaries will be saved in the page histories indefinitely and may not be altered. Automatic edit summaries appear when: * Blanking a page * Replacing most of a page * Creating a new page * Redirecting a page * Undoing or reverting an edit Furthermore, when editing a specific section of a page or creating a new section, the section title will appear in the edit summary unless you choose to remove it. {{Help}} 9468ecfb0fc30585afffb095b1708e8eb9fee98d Help:Gallery 12 979 2290 2024-04-11T18:53:38Z BlackHawk 10 Created page with "Galleries are an image syntax that creates a gallery of thumbnails (or similar image series). The syntax is: <pre> <gallery> File:file_name.ext|caption|alt=alt language File:file_name.ext|caption|alt=alt language {...} </gallery> </pre> Note that the image code is not enclosed in brackets when enclosed in gallery tags. Images can be preceded by '''Image:''', '''File:''' or nothing, however using '''Image:''' is preferred. Captions are optional, and may contain wiki li..." wikitext text/x-wiki Galleries are an image syntax that creates a gallery of thumbnails (or similar image series). The syntax is: <pre> <gallery> File:file_name.ext|caption|alt=alt language File:file_name.ext|caption|alt=alt language {...} </gallery> </pre> Note that the image code is not enclosed in brackets when enclosed in gallery tags. Images can be preceded by '''Image:''', '''File:''' or nothing, however using '''Image:''' is preferred. Captions are optional, and may contain wiki links or other formatting. Some of the parameters controlling thumb output can also be used here, specifically the ones that modify the file (as opposed to ones that control where in the page the image falls). For example, with multi-paged media like pdfs, you can use code like <code>page=4</code>. The File: prefix can be omitted. However, it is helpful to include it as an aid for quickly locating image specifiers in the wikitext (for example, when cleaning up page layout). '''Note that currently we do not support pdfs!''' For example: <pre> <gallery> File:Wiki.png|Item 1 File:Wiki.png|a link to [[Help:Contents]] File:Wiki.png File:Wiki.png|alt=An example image. It has flowers File:Wiki.png|''italic caption'' Wiki.png|on page "{{PAGENAME}}" </gallery> </pre> is formatted as: <gallery> File:Wiki.png|Item 1 File:Wiki.png|a link to [[Help:Contents]] File:Wiki.png File:Wiki.png|alt=An example image. It has flowers File:Wiki.png|''italic caption'' Wiki.png|on page "{{PAGENAME}}" </gallery> ==Mode parameter== A mode parameter is available, taking options as follows: * <code>traditional</code> is the original gallery type used by MediaWiki. * <code>nolines</code> is similar to <code>traditional</code>, but with no border lines. * <code>packed</code> causes images to have the same height but different widths, with little space between the images. The rows in this {{wp|Responsive web design|responsive}} mode organize themselves according to the width of the screen. * <code>packed-overlay</code> shows the caption overlaid on the image, in a semi-transparent white box. * <code>packed-hover</code> is similar to <code>packed-overlay</code>, but with the caption and box only showing up on hover. * <code>slideshow</code> creates a slideshow of the images. ==Optional gallery attributes== The gallery tag itself takes several additional parameters, specified as attribute name-value pairs: <pre> <gallery {parameters}> {images} </gallery> </pre> * <code>caption="{caption}"</code>: (caption text between double quotes for more than a word) sets a caption centered atop the gallery. Only plain text may be used in the caption; formatting, templates and the like will not work. * <code>widths={width}px</code>: sets the (max) widths of the images; the default value is 120px. ''Note the plural: width'''s'''''. * <code>heights={heights}px</code>: sets the (max) heights of the images; the default value is 120px. * <code>perrow={integer}</code>: sets the number of images per row. 0 means automatically adjust based on width of screen. * <code>showfilename={anything}</code>: Show the filenames of the images in the individual captions for each image (1.17+). * <code>mode={traditional|nolines|packed|packed-hover|packed-overlay|slideshow}</code>: See section above (1.22+; 1.28+ for "slideshow"). * <code>showthumbnails</code>: For "slideshow" mode only, display the strip with image thumbnails below the slideshow by default (1.29+). ==See also== * [[mw:Help:Images#Rendering_a_gallery_of_images|Help:Images]] The MediaWiki help page on images {{Help}} f855a0b141795a88f83fe99befb021cb74209498 Help:Creating a page 12 980 2291 2024-04-11T19:01:04Z BlackHawk 10 Created page with "There are five easy ways to '''create a new page''': # You can click a red link to the title of the new page from an existing one. You can also create the link yourself in an existing page related page. # You can also start a new page by typing the URL directly. An easy way to produce the URL is editing the last part of the URL of another page in the same project. To prevent your new page being an "orphan", you should link to it from other pages. # If you search for a p..." wikitext text/x-wiki There are five easy ways to '''create a new page''': # You can click a red link to the title of the new page from an existing one. You can also create the link yourself in an existing page related page. # You can also start a new page by typing the URL directly. An easy way to produce the URL is editing the last part of the URL of another page in the same project. To prevent your new page being an "orphan", you should link to it from other pages. # If you search for a page that is not yet on this wiki, you will see a red link at the top of the search list. Clicking this is another way to get to the edit page for the new article. # Use the ''Make new page'' link at the bottom of the left sidebar, which opens a popup dialogue to create a new page. # The easiest way to create an article is with an ''inputbox''. Typing the new title in the box and pressing "create article" will take you to the edit page for that article. To see how to add an inputbox, look at the code for the edit box of this page. However, before doing this, you should search to see if there is already a page name with one similar to yours. Below is an inputbox ready for your article! <table width="100%"><tr> <inputbox> break=no buttonlabel=Create article type=create </inputbox> </tr></table> Once you've started the new page, you'll see some grey boxes above the edit window (the window where you type). These help you select what kind of page you're making. If you're making a page that's not one of those buttons, then just ignore them and make it the way you want. {{Help}} a4e28e6ed5195f7e3a57db3ba37a5f90448005ef Talk:Brighter Shores Wiki/notice 1 981 2292 2024-04-11T19:09:41Z BlackHawk 10 Created page with "{{Archive list |pagename=Talk:Brighter Shores Wiki |alink=yes }} {| class="messagebox info" |<div style="font-size:140%; text-align:center">[[File:Information icon-grey.svg|40px]]</div> || '''This page is only for discussion of the Main Page.'''<br><div style="font-size:0.85em; line-height:1.4em;">If you wish to discuss large changes to the Brighter Shores Wiki, please go to the [[Forum:Forum Grove|Forum Grove]]. If you need help, please use Brighter Shores:User help|U..." wikitext text/x-wiki {{Archive list |pagename=Talk:Brighter Shores Wiki |alink=yes }} {| class="messagebox info" |<div style="font-size:140%; text-align:center">[[File:Information icon-grey.svg|40px]]</div> || '''This page is only for discussion of the Main Page.'''<br><div style="font-size:0.85em; line-height:1.4em;">If you wish to discuss large changes to the Brighter Shores Wiki, please go to the [[Forum:Forum Grove|Forum Grove]]. If you need help, please use [[Brighter Shores:User help|User help]] or [[Brighter Shores:Administrator requests|Administrator requests]].</div> |} a530340536baba9f710b4069fe418f4e992d32e4 Talk:Brighter Shores Wiki 1 982 2293 2024-04-11T19:10:19Z BlackHawk 10 Created page with "{{/notice}}<!-- {{Talkheader}} transcluded from /notice -->" wikitext text/x-wiki {{/notice}}<!-- {{Talkheader}} transcluded from /notice --> f49cd11e5c25dac0b61b7aca2598f5ae3a24d84f Help:Archive 12 983 2294 2024-04-11T19:12:50Z BlackHawk 10 Created page with "{{shortcut|H:ARCHIVE}} '''Archives''' of talk pages are made when a talk page becomes too long (due to [[Wikipedia:Wikipedia:Article size|browser limits]], 32kb is generally considered the maximum length). '''Utilising the "Move this page" feature for such an operation is not at all advised.''' Please note that [[Wikipedia:Wikipedia:Refactoring talk pages|refactoring a talk page]] is an alternative to archiving it. ==Sequential archives== Cutting and pasting the text..." wikitext text/x-wiki {{shortcut|H:ARCHIVE}} '''Archives''' of talk pages are made when a talk page becomes too long (due to [[Wikipedia:Wikipedia:Article size|browser limits]], 32kb is generally considered the maximum length). '''Utilising the "Move this page" feature for such an operation is not at all advised.''' Please note that [[Wikipedia:Wikipedia:Refactoring talk pages|refactoring a talk page]] is an alternative to archiving it. ==Sequential archives== Cutting and pasting the text to be archived into a new page is considered the best method for archiving a talk page. When archiving old discussions, it is customary to leave current, ongoing discussions on the existing talk page. In some cases, a header text is also preserved. For example, to archive the discussion on the talk page of this article: :1. Start at the Talk page. :2. Click on "Edit this page". :3. At the top of the edit area, type in: ::<nowiki>[[Help talk:Archive/Archive 1]]</nowiki> :4. Click on show preview. :5. Once the preview is on your screen, highlight the desired text in the edit box. :6. Cut the desired text from the page using CTRL-x or the cut command in the menu bar. :7. Click on the red coloured "Help talk:Archive/Archive 1" that is in the preview text. This will open a new page with an empty edit area. :8. Paste (using CTRL-v or the paste command in the menu bar) the desired text into the new page ("Help talk:Archive/Archive 1") and the click on "save page". :9. Finally, place a link to the archive on the talk page. In due time, you would end up with a sequence of archives files named ''Archive 1'', ''Archive 2'', ''Archive 3'' and so forth. == Archives by sub-topic == To complement or replace a series of sequential archives, consider organizing archives by sub-topic. This is less appropriate for personal talk pages than for talk pages in the article or project namespace, where it may be desirable to be able to refer to earlier discussions quickly. An example of sequential archiving can be found at [[Wikipedia:Wikipedia talk:Naming conventions|Wikipedia talk:Naming conventions]]. Sometimes subpages under the given talk page are appropriate. Other times, it may be best to move comments to the talk page of a logically related article. So, for example, a discussion of French politics at "Talk:France" could be moved to the talk page of the "Politics of France" article. In general, if you have two or more sequential archives, organising archives by topic may be a better alternative. ==Monolithic discussion file== For certain discussion pages, particularly those concerned with policy, which don't lend themselves to organizing by topic, the following alternative archiving strategy may be preferable. In this method, texts are simply deleted from a page and not moved to a different file. To reference an earlier discussion, you simply provide a link to an earlier version of the page. All discussions remain in one monolithic page file. One small caveat: it is not possible to link to an earlier version of a page with an internal-style link. You have to supply the full URL. To create a link to an earlier version of a talk page: *Open the Page History of the page *Open the relevant earlier version of the page which still contains the discussion. *Copy the complete URL from the navigation bar of your browser. *Paste this into the latest version of the Talk page. It will look something like this: :<nowiki>https://brightershoreswiki.org/w/Talk:Premium_Pass?oldid=826</nowiki> You would then format this like this: :<nowiki>[https://brightershoreswiki.org/w/Talk:Premium_Pass?oldid=826 earlier discussion].</nowiki> :''Note: because this is an URL and not a Wikilink, you use single square brackets ([ ]) rather than double ([[ ]]) and you use a space rather than a vertical bar (|) to separate the URL from the label. The final result will look like this:: :Also see this [https://brightershoreswiki.org/w/Talk:Premium_Pass?oldid=826 earlier discussion]. This archiving strategy can be particularly useful for ''summarising'' discussions; you provide a succinct overview of the various points of view and a link to the complete discussion. ==User talk pages== It is recommended that you do not attempt to archive another user's talk page. These are not subject to the recommendations on this page, and each user may choose alternate means to archive their own talk page. When archiving your talk page by moving it, be aware that this causes the newly-created archive to be added to the watchlist of any user who was previously watching your talk page. This could be annoying for people who have no desire to watch your talk archives. ==Conclusions== Separate archive files have the advantage that they are indexed and can be searched, whereas this is not the case with the monolithic approach. This should be taken into consideration for pages where people repeatedly ask the same kinds of questions and it is useful to be able to search the archives. In closing, there are no ''fixed rules'' about archiving discussions on the Brighter Shores Wiki. ==See also== * [[Wikipedia:Wikipedia:How to archive a talk page|How to archive a talk page at Wikipedia]], on which this page was based. {{Help}} 2aba63b572d529c55050e4e5203f41e8e2ea8fec Brighter Shores:Copyrights 4 984 2295 2024-04-11T19:18:10Z BlackHawk 10 Created page with "{{Soft redirect|meta:Project:Copyrights}}" wikitext text/x-wiki {{Soft redirect|meta:Project:Copyrights}} aea8d5e86f11f93eaf1d7702314cfbba31b41b97 Help:Cache 12 985 2296 2024-04-11T19:18:15Z BlackHawk 10 Created page with "[[Category:Help]] {{Nutshell|If you're experiencing issues with wiki page or image updates, try [[Help:Cache#How to clear your cache|clearing your cache]].}} ==Background== Internet browsers require the utilisation of what is called a '''cache''' or '''browser cache''', which is a temporary storage area on your computer's hard drive to which website data is stored for increased webpage performance. Simply put, your cache allows webpages to load faster. A cache differs fr..." wikitext text/x-wiki [[Category:Help]] {{Nutshell|If you're experiencing issues with wiki page or image updates, try [[Help:Cache#How to clear your cache|clearing your cache]].}} ==Background== Internet browsers require the utilisation of what is called a '''cache''' or '''browser cache''', which is a temporary storage area on your computer's hard drive to which website data is stored for increased webpage performance. Simply put, your cache allows webpages to load faster. A cache differs from a ''Cookie'', in that a ''Cookie'' is used to allow a website to use certain information about your computer to improve your browser's future performance. The idea behind the cache is that most websites utilise a base layout on all or most of their pages. For instance, the Brighter Shores Wiki logo appears at the top-right of every Brighter Shores Wiki page. A cache enables the browser to download the logo image once, so that it doesn't have to download it every time a new page is opened. Ironically, there are times when clearing one's cache is helpful for website performance. Additionally, a web browser's cache may take up significant space on one's hard drive. Examples of problems that may occur due to one's cache may be seen with the updating of certain images on the Brighter Shores Wiki. Editors continually update images throughout the wiki in order to maintain the latest, cleanest versions of those images. However, due to issues with one's cache and the way a website interacts with it, these updates may not take effect immediately. Furthermore, there are privacy issues that may warrant a reset of one's cache (such as when ''logging out'' of your Brighter Shores Wiki account). ==How to clear your cache== If you are experiencing problems while using the Brighter Shores Wiki, try clearing your browser's cache. To clear/reset/delete/empty your cache, find your browser below and follow the instructions: ===Google Chrome=== # Open Google Chrome # Click More ⋮ (Three stacked dots at the top-right corner of the browser). # ''More tools'' > ''Clear browsing data...'' ## '''NOTE:''' This menu may also be accessed by pressing {{key press|Ctrl|Shift|Delete}} # In the ''Time range'' dropdown menu, select ''All time'' # Uncheck ☐ everything except ''Cached images and files'' # Click '''Clear data''' ===Firefox=== # Open Firefox # Click on Settings (three stacked horizontal bars at the top-right corner of the browser) # Click ''History'' > ''Clear Recent History...'' ## '''NOTE:''' This menu may also be accessed by pressing {{key press|Ctrl|Shift|Delete}} # In the ''Time range to clear:'' dropdown menu, select ''Everything'' # Ensure the '''Details''' list is expanded and check ☑ '''Cache''' # Click '''Clear Now''' ===Internet Explorer 9, 10, & 11=== # Open Internet Explorer # Click on Tools (the gear icon at the top-right corner of the browser) > Safety > Delete browsing history ## '''NOTE:''' This menu may also be accessed by pressing {{key press|Ctrl|Shift|Delete}} # Uncheck ☐ ''Preserve Favorites website data'' and check ☑ both ''Temporary Internet Files'' and ''Cookies'' # Click '''Delete''' # You will get a confirmation at the bottom of your browser's window when it has successfully cleared your cache and cookies. ===Microsoft Edge=== # Open Microsoft Edge # Click on ''more options'' (•••), at the top-right corner of the page # Select ''Settings'' at the bottom of the menu # Select ''Choose what to clear'', under ''Clear browsing data'' # Check ☑ ''Cached data and files'' # Click '''Clear''' ===Safari=== # Open Safari # Click on the '''Safari''' menu at the top-left corner of the screen (if in fullscreen mode, hold the pointer at the top-edge of the screen to show the Menu Bar) # Select ''Preferences...'' ## '''NOTE:''' This menu may also be accessed by pressing {{key press|⌘|,}} ({{key press|Command|,}}) # Select ''Advanced'' (Gear Icon) # Ensure the '''Develop''' menu is enabled by checking ☑ ''Show Develop menu in menu bar'' # Select the '''Develop''' menu in the menu bar at the top of the screen > ''Empty Caches'' ## '''NOTE:''' The cache may be cleared directly by pressing {{key press|⌥|⌘|E}} ({{key press|Option|Command|E}}) ==How to bypass your cache== {{main|Help:Bypass your cache}} {{Help}} c778696e4572fc0de5264c34a346e133a7ca6554 Help:Job queue 12 986 2297 2024-04-11T19:20:36Z BlackHawk 10 Created page with "The '''job queue''' performs long-running tasks asynchronously. The job queue is designed to hold many short tasks using [[wikipedia:batch processing|batch processing]]. ==Job examples== ===Updating links tables when a template changes=== When a template changes, MediaWiki adds a job to the job queue for each article transcluding that template. Each job is a command to read an article, expand any templates, and update the link table accordingly. Previously, the host ar..." wikitext text/x-wiki The '''job queue''' performs long-running tasks asynchronously. The job queue is designed to hold many short tasks using [[wikipedia:batch processing|batch processing]]. ==Job examples== ===Updating links tables when a template changes=== When a template changes, MediaWiki adds a job to the job queue for each article transcluding that template. Each job is a command to read an article, expand any templates, and update the link table accordingly. Previously, the host articles would remain outdated until either their parser cache expires or until a user edits the article. ===HTML cache invalidation=== A wider class of operations can result in invalidation of the HTML cache for a large number of pages: * Changing an image (all the thumbnails have to be re-rendered, and their sizes recalculated) * Deleting a page (all the links to it from other pages need to change from blue to red) * Creating or undeleting a page (like above, but from red to blue) * Changing a template (all the pages that transclude the template need updating) Except for template changes, these operations do not invalidate the links tables, but they do invalidate the HTML cache of all pages linking to that page, or using that image. Invalidating the cache of a page is a short operation; it only requires updating a single database field and sending a multicast packet to clear the caches. But if there are more than about 1000 to do, it takes a long time. By default, one job is added per 300 operations. Note, however, that even if purging the cache of a page is a short operation, reparsing a complex page that is not in the cache may be expensive, specially if a highly used template is edited and causes lots of pages to be purged in a short period of time and your wiki has lots of concurrent visitors loading a wide spread of pages. ==Typical values== During a period of low load, the job queue might be zero. On the Brighter Shores Wiki in off-peak hours, it might be near 0 but during a busy day it may be few hundred to a thousand but it can quickly fluctuate by 10% or more. The current number of jobs in the queue can be viewed using the api: <code>api.php?action=query&meta=siteinfo&siprop=statistics</code> ([[Special:ApiSandbox#action=query&format=json&meta=siteinfo&siprop=statistics|try in API sandbox]]). ==See also== * [[mw:Manual:Job queue|Manual:Job queue]] * [[wikipedia:Help:Job queue|help:Job queue]] {{Help}} 6e404d2280cababe05122aa277a57d164eabf102 Help:List 12 987 2298 2024-04-11T19:27:54Z BlackHawk 10 Created page with "<div style="float:right;">__TOC__</div> This help page explains how to create and edit lists on the Brighter Shores wiki. ==List basics== There are three basic types of lists: '''ordered lists''', '''unordered lists''', and '''definition lists'''. In the following sections, ordered lists are used for examples. Unordered lists would give corresponding results. {|class="wikitable" ! Wikitext !! Rendering |- |<pre> * Lists are easy to do: ** start every line * with a sta..." wikitext text/x-wiki <div style="float:right;">__TOC__</div> This help page explains how to create and edit lists on the Brighter Shores wiki. ==List basics== There are three basic types of lists: '''ordered lists''', '''unordered lists''', and '''definition lists'''. In the following sections, ordered lists are used for examples. Unordered lists would give corresponding results. {|class="wikitable" ! Wikitext !! Rendering |- |<pre> * Lists are easy to do: ** start every line * with a star ** more stars mean *** deeper levels</pre> || * Lists are easy to do: ** start every line * with a star ** more stars mean *** deeper levels |- |<pre> * A newline * in a list marks the end of the list. Of course * you can * start again.</pre> | * A newline * in a list marks the end of the list. Of course * you can * start again. |- |<pre> # Numbered lists are good ## very organized ## easy to follow</pre> | # Numbered lists are good ## very organized ## easy to follow |- |<pre> * You can also ** break lines ** like this</pre> | * You can also **break lines **like this |- |<pre> ; Definition lists ; item : definition ; semicolon plus term : colon plus definition</pre> | ; Definition lists ; item : definition ; semicolon plus term : colon plus definition |- |<pre> ; Mixed definition lists ; item 1 : definition :; sub-item 1 plus term :: two colons plus definition :; sub-item 2 : colon plus definition ; item 2 : back to the main list</pre> | ; Mixed definition lists ; item 1 : definition :; sub-item 1 plus term :: two colons plus definition :; sub-item 2 : colon plus definition ; item 2 : back to the main list |- |<pre> * Or create mixed lists *# and nest them *#* like this *#*; definitions *#*: work: *#*; apple *#*; banana *#*: fruits</pre> | * Or create mixed lists *# and nest them *#* like this *#*; definitions *#*: work: *#*; apple *#*; banana *#*: fruits |} ==Paragraphs in lists== For simplicity, list items in wiki markup cannot be longer than a paragraph. A following blank line will end the list and reset the counter on ordered lists. Separating unordered list items usually has no noticeable effects. Paragraphs can be forced in lists by using HTML tags. Two line break symbols, <code><nowiki><br /><br /></nowiki></code>, will create the desired effect. So will enclosing all but the first paragraph with <code><nowiki><p>...</p></nowiki></code>. For a list with items of more than one paragraph long, adding a blank line between items may be necessary to avoid confusion. ==Continuing a list item after a sub-item== In HTML, a list item may contain several sublists, not necessarily adjacent; thus there may be parts of the list item not only before the first sublist, but also between sublists, and after the last one. However, in wiki-syntax, sublists follow the same rules as sections of a page: the only possible part of the list item not in sublists is before the first sublist. In the case of an unnumbered first-level list in wikitext code this limitation can be overcome by splitting the list into multiple lists; indented text between the partial lists may visually serve as part of a list item after a sublist; however, this may give, depending on CSS, a blank line before and after each list, in which case, for uniformity, every first-level list item could be made a separate list. Numbered lists illustrate that what should look like one list may, for the software, consist of multiple lists; unnumbered lists give a corresponding result, except that the problem of restarting with 1 is not applicable. {| style="border:1px;border-spacing:1px;" class="wikitable sortable" cellpadding="5" |- style="" | <pre><ol> <li><translate><!--T:28--> list item</translate> A1 <ol> <li><translate><!--T:29--> list item</translate> B1</li> <li><translate><!--T:30--> list item</translate> B2</li> </ol><translate><!--T:31--> continuing list item</translate> A1 </li> <li><translate><!--T:32--> list item</translate> A2</li> </ol></pre> | <ol> <li> list item A1 <ol> <li>list item B1</li> <li>list item B2</li> </ol>continuing list item A1 </li> <li>list item A2</li> </ol> |- style="font-weight:bold;text-align:center;" | colspan="2" | vs. |- style="" |<pre> #list item A1 ##list item B1 ##list item B2 #:continuing list item A1 #list item A2</pre> | #list item A1 ##list item B1 ##list item B2 #:continuing list item A1 #list item A2 |} One level deeper, with a sublist item continuing after a sub-sublist, one gets even more blank lines; however, the continuation of the first-level list is not affected: <pre> #list item A1 ##list item B1 ###list item C1 ##:continuing list item B1 ##list item B2 #list item A2 </pre> gives #list item A1 ##list item B1 ###list item C1 ##:continuing list item B1 ##list item B2 #list item A2 It is possible to embed unnumbered bullets inside enclosing numbered items: <pre> # list item A #* nested bullet A1 #* nested bullet A2 # continuing list item B #* nested bullet B1 #* nested bullet B2 </pre> gives # list item A #* nested bullet A1 #* nested bullet A2 # continuing list item B #* nested bullet B1 #* nested bullet B2 ==Changing the list type== The list type (which type of marker appears before the list item) can be changed in CSS by setting the [http://www.w3.org/TR/REC-CSS2/generate.html#lists list-style-type] property: {|class="wikitable" ! Wikitext !! Rendering |- | <pre><ol style="list-style-type:lower-roman"> <li>About the author</li> <li>Foreword to the first edition</li> <li>Foreword to the second edition></li> </ol></pre> |<ol style="list-style-type:lower-roman"> <li>About the author</li> <li>Foreword to the first edition</li> <li>Foreword to the second edition</li> </ol> |- | <pre><ol style="list-style-type:lower-alpha"> <li>About the author</li> <li>Foreword to the first edition</li> <li>Foreword to the second edition</li> </ol></pre> |<ol style="list-style-type:lower-alpha"> <li>About the author</li> <li>Foreword to the first edition</li> <li>Foreword to the second edition</li> </ol> |} ==Extra indentation of lists== In a numbered list in a large font, some browsers do not show more than two digits, unless extra indentation is applied (if there are multiple columns: for each column). This can be done with CSS: <pre>ol { margin-left: 2cm}</pre> or alternatively, like below. {|class="wikitable" ! Wikitext !! Rendering ! style="width: 40%" |Comments |- | <pre> :# abc :# def :# ghi </pre> | :# abc :# def :# ghi | A list of one or more lines starting with a colon creates a [http://www.w3.org/TR/html4/struct/lists.html#edef-DL definition list] without definition terms, and with the items as definition descriptions, hence indented. However, if the colons are in front of the codes "*" or "#" of an unordered or ordered list, the list is treated as one definition description, so the whole list is indented. |- | <pre> <ul> <ol> <li>abc</li> <li>def</li> <li>ghi</li> </ol> </ul> </pre> | <ul> <ol> <li>abc</li> <li>def</li> <li>ghi</li> </ol> </ul> | MediaWiki translates an unordered list (ul) without any list items (li) into a div with a <code>style="margin-left: 2em"</code>, causing indentation of the contents. This is '''the most versatile method''', as it allows starting with a number other than 1, see below. |- | <pre> <ul> # abc # def # ghi </ul> </pre> | <ul> # abc # def # ghi </ul> | Like above, with the content of the "unordered list without any list items", which itself is an ordered list, expressed with # codes. The HTML produced, and hence the rendering, is the same. This is the '''recommended''' method when starting the list at 1. |} ==Specifying a starting value== Specifying a starting value is possible with HTML syntax. {| style="width:100%" | style="width: 50%" | <pre> <ol start="9"> <li>Amsterdam</li> <li>Rotterdam</li> <li>The Hague</li> </ol> </pre> | <ol start="9"> <li>Amsterdam</li> <li>Rotterdam</li> <li>The Hague</li> </ol> |} Or: {| style="width:100%" | style="width: 50%" | <pre> <ol> <li value="9">Amsterdam</li> <li value="8">Rotterdam</li> <li value="7">The Hague</li> </ol> </pre> | <ol> <li value="9">Amsterdam</li> <li value="8">Rotterdam</li> <li value="7">The Hague</li> </ol> |} ==Comparison with a table== Apart from providing automatic numbering, the numbered list also aligns the contents of the items, comparable with using table syntax: <pre> {| |- | align=right | 9.|| Amsterdam |- | align=right | 10.|| Rotterdam |- | align=right | 11.|| The Hague |} </pre> gives: {| |- | align=right | 9.|| Amsterdam |- | align=right | 10.|| Rotterdam |- | align=right | 11.|| The Hague |} This non-automatic numbering has the advantage that if a text refers to the numbers, insertion or deletion of an item does not disturb the correspondence. ==Multi-column lists== === Multi-column bulleted list === <pre> <div style="column-count:2;-moz-column-count:2;-webkit-column-count:2"> * apple * carpet * geography * mountain * nowhere * postage * ragged * toast </div> </pre> gives: <div style="column-count:2;-moz-column-count:2;-webkit-column-count:2"> * apple * carpet * geography * mountain * nowhere * postage * ragged * toast </div> <pre> <div style="column-count:3;-moz-column-count:3;-webkit-column-count:3"> * apple * carpet * geography * mountain * nowhere * postage * ragged * toast </div> </pre> gives: <div style="column-count:3;-moz-column-count:3;-webkit-column-count:3"> * apple * carpet * geography * mountain * nowhere * postage * ragged * toast </div> ===Multi-column numbered list=== <pre> <div style="column-count:3;-moz-column-count:3;-webkit-column-count:3"> # apple # carpet # geography # mountain # nowhere # postage # ragged # toast </div> </pre> gives: <div style="column-count:3;-moz-column-count:3;-webkit-column-count:3"> # apple # carpet # geography # mountain # nowhere # postage # ragged # toast </div> Below a starting value is specified, with HTML-syntax (for the first column either wiki-syntax or HTML-syntax can be used). In combination with the extra indentation explained in the previous section: <pre> {| valign="top" |- |<ul><ol start="125"><li>a<li>bb<li>ccc</ol></ul> |<ul><ol start="128"><li>ddd<li>ee<li>f</ol></ul> |} </pre> gives: {| valign="top" |- |<ul><ol start="125"><li>a<li>bb<li>ccc</ol></ul> |<ul><ol start="128"><li>ddd<li>ee<li>f</ol></ul> |} ==Streamlined style or horizontal style== It is also possible to present short lists using very basic formatting, such as: <pre>''Title of list:'' example 1, example 2, example 3</pre> ''Title of list:'' example 1, example 2, example 3 This style requires less space on the page, and is preferred if there are only a few entries in the list, it can be read easily, and a direct edit point is not required. The list items should start with a lowercase letter unless they are proper nouns. ==Tables== A one-column table is very similar to a list, but it allows sorting. If the wikitext itself is already sorted with the same sortkey, this advantage does not apply. A multiple-column table allows sorting on any column. See also: [[wikipedia:en:When to use tables|When to use tables]] ==Changing unordered lists to ordered ones== With the CSS: <pre>ul { list-style: decimal }</pre> unordered lists are changed to ordered ones. This applies (as far as the CSS selector does not restrict this) to all ul-lists in the HTML source code: * those produced with * * those with <nowiki><ul></nowiki> in the wikitext * those produced by the system Since each special page, like other pages, has a class based on the pagename, one can separately specify for each type whether the lists should be ordered, see [[Help:Customising skins]]. Use: <code>body.page-Special_Contributions ul { list-style: decimal }</code> for [[Special:Contributions]] and <code>body.mw-special-Whatlinkshere ul { list-style: decimal }</code> for [[Special:Whatlinkshere]]. However, it does not seem possible to make all page history lists ordered (unless one makes all lists ordered), because the class name is based on the page for which the history is viewed. ==See also== * [[mw:Help:Lists|Help:Lists]] on MediaWiki * [[wikipedia:Help:List|Help:List]] on wikipedia {{Help}} 94edebc0dce165b0619888dbcf83413ca98ab1d3 MediaWiki:Common.less 8 5 2299 1812 2024-04-11T19:29:31Z Merds 25 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #ab6d46; --redlink-color: #ba0000; --text-color: #2F2828; /* @mine-shaft */ --byline-color: @silver; --subtle-color: #afa19a; /* old: @boulder; */ --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/documentation.less'; // [[Template:Documentation]] @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> @import '@{common}/messagebox.less'; // Messagebox templates // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages @import '@{common}/bstheme.less'; // [[BS:THEME]] // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 3e7299671464ffc38d4051387282929aae4d16c7 2303 2299 2024-04-11T20:28:22Z Merds 25 less less /* ============================================================================= * This is the root Less file that is parsed to produce [[MediaWiki:Common.css]]. * * These styles will be applied to all skins (desktop and mobile). * ----------------------------------------------------------------------------- * Less documentation: <http://lesscss.org/features/> * Gadget: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less.js> * Core Less JS: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-Less-core.js> * Non-standard mixins: <https://meta.weirdgloop.org/w/MediaWiki:Gadget-LessMixins.less> * Online Less tester: <https://lesscss.org/less-preview/> * ============================================================================= */ // ===== CSS Variables ===== @common: 'MediaWiki:Common.less'; :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: @white; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #ab6d46; --table-header-link: #794f34; --redlink-color: #ba0000; --text-color: #2F2828; /* @mine-shaft */ --byline-color: @silver; --subtle-color: #afa19a; /* old: @boulder; */ --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; // used for gallery & thumbs --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); // for sourceeditor - CodeMirror and WikiEditor's that are only available on // desktop are also here to not fragment the vars across many files --sourceeditor-input-background: @white; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); // used on .editOptions --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } // ===== Imports ===== // include fonts first @import '@{common}/mixins.less'; @import '@{common}/fonts.less'; // Font definitions and font stack definitions @import '@{common}/variables.less'; // Less variables @import '@{common}/elements.less'; // HTML elements @import '@{common}/links.less'; // Link colours // Interface @import '@{common}/interface.less'; // MW common elements @import '@{common}/wikitables.less'; // .wikitable class and etc @import '@{common}/diff.less'; // Revision differences @import '@{common}/notifications.less'; @import '@{common}/pagepreviews.less'; // Page preview popups @import '@{common}/smw.less'; // Semantic MediaWiki @import '@{common}/tabber.less'; // <tabber> @import '@{common}/ooui.less'; // OOUI Customisations @import '@{common}/visualeditor.less'; // VisualEditor // Templates @import '@{common}/templates.less'; // Various templates @import '@{common}/documentation.less'; // [[Template:Documentation]] @import '@{common}/infobox.less'; // Infobox vars @import '@{common}/references.less'; // <references> @import '@{common}/messagebox.less'; // Messagebox templates // Page specific @import '@{common}/tiles.less'; // Main page tiles @import '@{common}/mainpage.less'; // Main page @import '@{common}/prefs.less'; // Wiki preferences theming @import '@{common}/specials.less'; // Special pages @import '@{common}/bstheme.less'; // [[BS:THEME]] // ===== Miscellaneous ===== // hide certain links in sidebar tools #t-print, #t-permalink { display: none; } #filetoc { border-radius: @border-radius; background: @BODY_MID; border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: @box-shadow; } // Galleries li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } // applies to mobile talk pages, and smw?? .list-header { background-color: var(--body-mid); color: inherit; } // Source editor w/o syntaxhighlight; also applies to mobile in case JS is // turned off .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } // .json pages .mw-json { th, td { border-color: var(--wikitable-border); } // instead of selecting `tr`, do this to avoid dealing with mw-json-* classes td { background: var(--wikitable-bg); } th { background: var(--wikitable-header-bg); } } 09a8b19bf695351e84cacc4087a835b792b384ad Barricades 0 79 2300 1854 2024-04-11T19:51:00Z Yellowsap 63 wikitext text/x-wiki {{Infobox Location |name = Barricades |image = [[File:Barricades.jpg|280px]] |release = Q3 [[2024]] |premium = No |episode = Hopeport }} {{Relative location |location = Barricades |north = |east = Mine Entrance |south = |west = }} The '''Barricades''' is a location that leads into the [[Mine Entrance]], which is guarded by a [[barricade guard]]. The player must talk to [[Captain Jal Degreene]] as part of a quest in order to be allowed through. 0304aab0e2b16c741e584d4150f8c547c4513a9d User:Merds/Sandbox 2 652 2304 1709 2024-04-11T20:29:38Z Merds 25 wikitext text/x-wiki This page contains information about the '''look of the Brighter Shores Wiki'''. ==Colours== <div class="color-container"> <div class="color-column"> <h3>Body</h3> <div class="color-group" style="background: #d1b9ad;"> <p class="variable">--body-border</p> <p class="hexcode">#d1b9ad</p> </div> <div class="color-group dark" style="background: #b1886f;"> <p class="variable">--body-dark</p> <p class="hexcode">#b1886f</p> </div> <div class="color-group" style="background: #d1b9ad;"> <p class="variable">--body-mid</p> <p class="hexcode">#d1b9ad</p> </div> <div class="color-group" style="background: #f5f0eb;"> <p class="variable">--body-light</p> <p class="hexcode">#f5f0eb</p> </div> <div class="color-group" style="background: #fdfcfc;"> <p class="variable">--body-main</p> <p class="hexcode">#fdfcfc</p> </div> <div class="color-group dark" style="background: #173a4d;"> <p class="variable">--body-background-color</p> <p class="hexcode">#173a4d</p> </div> </div> <div class="color-column"> <h3>Buttons and links</h3> <div class="color-group dark" style="background: #3c352a;"> <p class="variable">--button-border</p> <p class="hexcode">#3c352a;</p> </div> <div class="color-group dark" style="background: #18140c;"> <p class="variable">--button-dark</p> <p class="hexcode">#18140c</p> </div> <div class="color-group dark" style="background: #3a301d;"> <p class="variable">--button-light</p> <p class="hexcode">#3a301d</p> </div> <div class="color-group dark" style="background: #ab6d46;"> <p class="variable">--link-color</p> <p class="hexcode">#ab6d46</p> </div> <div class="color-group dark" style="background: #794f34;"> <p class="variable">--table-link-color</p> <p class="hexcode">#794f34</p> </div> <div class="color-group dark" style="background: #52351e;"> <p class="variable">--background-link-color</p> <p class="hexcode">#52351e</p> </div> </div> e8b2664632c21b41e5c71326c4595068e9902b51 MediaWiki:Common.less/wikitables.less 8 17 2305 1564 2024-04-11T20:31:43Z Merds 25 less less :root { --wikitable-header-bg: @BODY_DARK; --wikitable-border: @BODY_BORDER; --wikitable-bg: @BODY_LIGHT; --wikitable-bg-lighter: #e9e3d6; // lighten(@wikitable-bg, 10%); Used on hover effect --wikitable-color: @TEXT_COLOR; --table-na-background: fade(@white, 30); --table-na-color: var(--subtle-color); --table-yes-background: @caper; --table-yes-color: @san-felix; --table-no-background: @apricot-peach; --table-no-color: @mocaccino; --table-maybe-background: @golden; --table-maybe-color: @cinnamon; } // Brown-ify defaults .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: @box-shadow; // All cells borders > tr > th, > tr > td, > * > tr > th, > * > tr > td { border-color: var(--wikitable-border); // Template:NoBorder &.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } } // All header cells bg > tr > th, > * > tr > th { background-color: var(--wikitable-header-bg); color: @white; a { color: var(--table-link-color); } } // Already in a box .tabber & { box-shadow: none; } } // Metadata tables, allmessages, etc .mw_metadata { td, th { border-color: var(--wikitable-border); } th { background-color: var(--wikitable-header-bg); } td { background-color: var(--wikitable-bg); } } // Special:AllPages, BlockList, etc .mw-datatable { border-color: var(--wikitable-border); td, th { border-color: var(--wikitable-border); } // cells th { background-color: var(--wikitable-header-bg); a { color: var(--table-link-color); } } // headers td { background-color: var(--wikitable-bg); } // on hover on both cells tr:hover td { background-color: var(--wikitable-bg); } } // alternating colours (similar to spreadsheets) table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } // Template:NA .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } // Template:Yes .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } // Template:No .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } // Template:Maybe .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } // Special:AllMessages #mw-allmessagestable { .am_actual, .am_default { background-color: var(--wikitable-bg); } .am_default:hover, .am_actual:hover, tbody:hover td { background-color: var(--wikitable-bg-lighter); } } // For tables within tables, to make them take up the full space of a cell table.wikitable td.no-cell-spacing { padding: 0; height: 0; // actual height is overridden by content height, but this allows height:100% to stretch to full td height table { margin: -1px; // collapse borders with parent td width: calc(100% + 2px); height: calc(100% + 2px); } } // used on mmg table and similar // to hide bullet points .plainlist { ol, ul { margin: 0; } li { margin-bottom: 0; // might make lists slightly clamped tho list-style: none; } } /* table alignment help */ /* nth td from the left is right-aligned - ths are ignored */ table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } /* center */ table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } /* left */ table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } ead443903cc445909f189de183489491a87a4880 MediaWiki:Common.css 8 30 2306 2301 2024-04-11T20:31:52Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #ab6d46; --table-header-link: #794f34; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #afa19a; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .wikitable > tr > th a, .wikitable > * > tr > th a { color: var(--table-link-color); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable th a { color: var(--table-link-color); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #ece3de; --ooui-disabled-border: #e3d5ce; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .toc .toctitle > * .toctogglelabel { color: var(--table-header-link); } .navbox .navbox-title { color: #fff; } .navbox .navbox-title a { color: var(--table-header-link); } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } .relative-location { background: var(--body-light); border: 1px solid var(--body-border); border-spacing: 0; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); text-align: center; } .relative-location-header { background: var(--body-dark); color: #fff; font-weight: bold; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-subheader); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox .infobox-buttons .button.button-selected { background: var(--table-header); } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-subheader a { color: var(--link-color); } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .infobox select { max-width: 300px; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: var(--body-dark); --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom h2 a { color: #fff !important; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 5f8ab479558e5c49afafe71bec4f2c233114e22e 2309 2306 2024-04-11T22:43:21Z Merds 25 Updating CSS from [[MediaWiki:Common.less]] css text/css /* <pre> */ :root { --body-main: #fdfcfc; --body-light: #f5f0eb; --body-mid: #d1b9ad; --body-dark: #b1886f; --body-border: #d1b9ad; --body-background-color: #173a4d; --button-background: #605443; --button-color: #fff; --button-border: #3c352a; --button-dark: #18140c; --button-light: #3a301d; --sidebar: #cfc08d; --background-text-color: #e2dbc8; --background-link-color: #e2bd8a; --search-box: #efeee6; --link-color: #ab6d46; --table-header-link: #794f34; --redlink-color: #ba0000; --text-color: #2F2828; --byline-color: #ccc; --subtle-color: #afa19a; --admin-blue: #332e75; --bearcat-green: #13592e; --awb-purple: #933b96; --rsw-blue: #438ab6; --osrsw-brown: #605443; --thumb-bg: var(--body-light); --thumb-caption-bg: var(--body-mid); --sourceeditor-input-background: #fff; --sourceeditor-background: var(--body-light); --sourceeditor-background-secondary: var(--body-light); --sourceeditor-border: var(--body-mid); --codemirror-gutter-background: var(--body-mid); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: normal; font-display: swap; src: url('filepath://Lora.woff2') format('woff2'); } @font-face { font-family: 'Lora'; font-weight: 400 700; font-style: italic; font-display: swap; src: url('filepath://Lora-Italic.woff2') format('woff2'); } :root { --base-text-color: #36414f; --base-heading-color: #444e5a; --base-heading-border: #e4eaee; --mw-code-background-color: var(--body-light); --body-background-image: url('filepath://Wiki_background.jpg'); } #mw-page-base { background: none; } .mw-body { background-color: var(--body-main); color: var(--text-color); border-color: transparent; box-shadow: 0 0 7px rgba(0, 0, 0, 0.15); margin-top: 0; } h1, h2, h3, h4, h5, h6 { color: var(--text-color); } h1, h2 { border-color: var(--body-border); } .mw-body h1, .mw-body-content h1, .mw-body-content h2, .mw-body-content h3, .mw-body-content h4, .mw-body-content h5, .mw-body-content h6 { font-family: 'Lora', 'Palatino', 'Georgia', serif; } .mw-parser-output h2:first-of-type { clear: left; } .mw-footer { color: var(--background-text-color); } .mw-footer li { color: var(--background-text-color); } .mw-footer a, .mw-footer a:active, .mw-footer a:visited { color: var(--background-link-color); } ::placeholder { color: var(--subtle-color); } a { color: var(--link-color); } a:visited, a:active { color: var(--link-color); } a.new { color: var(--redlink-color); } a.new:visited { color: var(--redlink-color); } .mw-parser-output a.extiw, .mw-parser-output a.external { color: var(--link-color); } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:active, .mw-parser-output a.external:active { color: var(--link-color); } .jsPurgeLink a.external { color: var(--link-color); } :root { --errorbox-bg: #feecea; --errorbox-border: #ee4231; --warningbox-bg: #fef9de; --warningbox-border: #f9d000; --successbox-bg: #ecf8e3; --successbox-border: #6bc71f; } .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, .usermessage { box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .catlinks li { border-color: var(--body-mid); } .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } .mw-highlight { background: none; } .mw-highlight .linenos { background-color: var(--mw-code-background-color); color: var(--body-border); } .mw-highlight a:hover .linenos, .mw-highlight .hll a .linenos { color: var(--body-dark); } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } #pagehistory ul { list-style: none; margin: 0; } #pagehistory li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; } #pagehistory li.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid var(--body-dark); padding: 0.25em 0; } .wgl-stickyheader #mw-history-compare > div:first-of-type { top: 2.5rem; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } li span.deleted, span.history-deleted { color: var(--byline-color); } .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, .mw-mmv-options-enable-alert, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } .mw-ui-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):hover, .mw-ui-button:not(:disabled):active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .mw-ui-button:not(:disabled):focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button:not(:disabled):visited { color: var(--ooui-text); } .mw-ui-button.mw-ui-progressive:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); } .mw-ui-button.mw-ui-progressive:not(:disabled):hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .mw-ui-button.mw-ui-progressive:not(:disabled):focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .mw-ui-button.mw-ui-progressive:not(:disabled):active, .mw-ui-button.mw-ui-progressive:not(:disabled).is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } .mw-ui-button.mw-ui-destructive:not( :disabled ) { color: #fff; } .mw-ui-button.mw-ui-quiet, .mw-ui-button.mw-ui-quiet.mw-ui-progressive, .mw-ui-button.mw-ui-quiet.mw-ui-destructive { color: var(--text-color); } input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:hover + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:hover, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover { background-color: rgba(0, 24, 73, 0.02745098); color: var(--text-color); border-color: transparent; } input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:focus + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:focus, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus { color: var(--text-color); } input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-progressive, input[type='checkbox']:active + .mw-ui-button.mw-ui-quiet.mw-ui-destructive, .mw-ui-button.mw-ui-quiet:active, .mw-ui-button.mw-ui-quiet.mw-ui-progressive:active, .mw-ui-button.mw-ui-quiet.mw-ui-destructive:active { background-color: rgba(0, 36, 73, 0.08235294); color: var(--text-color); border-color: #72777d; } .mw-ui-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); } .mw-ui-input:hover { border-color: var(--ooui-input-border--hover); } .mw-ui-input::placeholder { color: var(--byline-color); } .mw-content-ltr .redirectText li:first-child { padding: 0; background: 0; } .mw-content-ltr .redirectText li:first-child::before { content: ''; background: currentcolor; -webkit-mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; mask: url("filepath://Redirect-arrow.svg") no-repeat 50% 50% / contain; display: inline-block; width: 47px; height: 20px; } .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0, 0, 0, 0.15) !important; } .vector-menu-dropdown .vector-menu-heading { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:hover { color: var(--vector-tab-link-color) !important; } .vector-menu-dropdown .vector-menu-heading:focus { color: var(--vector-tab-link-color) !important; } .vector-menu-portal .vector-menu-heading { color: var(--background-text-color) !important; font-weight: bold !important; background: none !important; } .vector-menu-portal .vector-menu-content li a, .vector-menu-portal .vector-menu-content li a:visited { color: var(--background-link-color) !important; } :root { --wikitable-header-bg: var(--body-dark); --wikitable-border: var(--body-border); --wikitable-bg: var(--body-light); --wikitable-bg-lighter: #e9e3d6; --wikitable-color: var(--text-color); --table-na-background: rgba(255, 255, 255, 0.3); --table-na-color: var(--subtle-color); --table-yes-background: #c3e8a3; --table-yes-color: #2e5e05; --table-no-background: #fbc0ba; --table-no-color: #801c13; --table-maybe-background: #fcea94; --table-maybe-color: #786300; } .wikitable { background: var(--wikitable-bg); color: var(--wikitable-color); border-color: var(--wikitable-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .wikitable > tr > th, .wikitable > tr > td, .wikitable > * > tr > th, .wikitable > * > tr > td { border-color: var(--wikitable-border); } .wikitable > tr > th.table-noborder, .wikitable > tr > td.table-noborder, .wikitable > * > tr > th.table-noborder, .wikitable > * > tr > td.table-noborder { border-left-style: hidden; border-right-style: hidden; padding-left: 0; padding-right: 0; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: var(--wikitable-header-bg); color: #fff; } .wikitable > tr > th a, .wikitable > * > tr > th a { color: var(--table-link-color); } .tabber .wikitable { box-shadow: none; } .mw_metadata td, .mw_metadata th { border-color: var(--wikitable-border); } .mw_metadata th { background-color: var(--wikitable-header-bg); } .mw_metadata td { background-color: var(--wikitable-bg); } .mw-datatable { border-color: var(--wikitable-border); } .mw-datatable td, .mw-datatable th { border-color: var(--wikitable-border); } .mw-datatable th { background-color: var(--wikitable-header-bg); } .mw-datatable th a { color: var(--table-link-color); } .mw-datatable td { background-color: var(--wikitable-bg); } .mw-datatable tr:hover td { background-color: var(--wikitable-bg); } table.alternating-rows tr:nth-child(odd), table.alternating-cols td:nth-child(odd) { background: var(--wikitable-alternating-bg); } .table-na { background: var(--table-na-background); color: var(--table-na-color); vertical-align: middle; text-align: center; } .table-yes { background: var(--table-yes-background); color: var(--table-yes-color); } .table-positive { background: var(--table-yes-background); } .table-no { background: var(--table-no-background); color: var(--table-no-color); } .table-negative { background: var(--table-no-background); } .table-maybe { background: var(--table-maybe-background); color: var(--table-maybe-color); } #mw-allmessagestable .am_actual, #mw-allmessagestable .am_default { background-color: var(--wikitable-bg); } #mw-allmessagestable .am_default:hover, #mw-allmessagestable .am_actual:hover, #mw-allmessagestable tbody:hover td { background-color: var(--wikitable-bg-lighter); } table.wikitable td.no-cell-spacing { padding: 0; height: 0; } table.wikitable td.no-cell-spacing table { margin: -1px; width: calc(100% + 2px); height: calc(100% + 2px); } .plainlist ol, .plainlist ul { margin: 0; } .plainlist li { margin-bottom: 0; list-style: none; } table.align-right-1 td:nth-of-type(1), table.align-right-2 td:nth-of-type(2), table.align-right-3 td:nth-of-type(3), table.align-right-4 td:nth-of-type(4), table.align-right-5 td:nth-of-type(5), table.align-right-6 td:nth-of-type(6), table.align-right-7 td:nth-of-type(7), table.align-right-8 td:nth-of-type(8), table.align-right-9 td:nth-of-type(9), table.align-right-10 td:nth-of-type(10), table.align-right-11 td:nth-of-type(11), table.align-right-12 td:nth-of-type(12), table.align-right-13 td:nth-of-type(13), table.align-right-14 td:nth-of-type(14), table.align-right-15 td:nth-of-type(15), table.align-right-16 td:nth-of-type(16), table.align-right-17 td:nth-of-type(17), table.align-right-18 td:nth-of-type(18), table.align-right-19 td:nth-of-type(19), table.align-right-20 td:nth-of-type(20) { text-align: right; } table.align-center-1 td:nth-of-type(1), table.align-center-2 td:nth-of-type(2), table.align-center-3 td:nth-of-type(3), table.align-center-4 td:nth-of-type(4), table.align-center-5 td:nth-of-type(5), table.align-center-6 td:nth-of-type(6), table.align-center-7 td:nth-of-type(7), table.align-center-8 td:nth-of-type(8), table.align-center-9 td:nth-of-type(9), table.align-center-10 td:nth-of-type(10), table.align-center-11 td:nth-of-type(11), table.align-center-12 td:nth-of-type(12), table.align-center-13 td:nth-of-type(13), table.align-center-14 td:nth-of-type(14), table.align-center-15 td:nth-of-type(15), table.align-center-16 td:nth-of-type(16), table.align-center-17 td:nth-of-type(17), table.align-center-18 td:nth-of-type(18), table.align-center-19 td:nth-of-type(19), table.align-center-20 td:nth-of-type(20) { text-align: center; } table.align-left-1 td:nth-of-type(1), table.align-left-2 td:nth-of-type(2), table.align-left-3 td:nth-of-type(3), table.align-left-4 td:nth-of-type(4), table.align-left-5 td:nth-of-type(5), table.align-left-6 td:nth-of-type(6), table.align-left-7 td:nth-of-type(7), table.align-left-8 td:nth-of-type(8), table.align-left-9 td:nth-of-type(9), table.align-left-10 td:nth-of-type(10), table.align-left-11 td:nth-of-type(11), table.align-left-12 td:nth-of-type(12), table.align-left-13 td:nth-of-type(13), table.align-left-14 td:nth-of-type(14), table.align-left-15 td:nth-of-type(15), table.align-left-16 td:nth-of-type(16), table.align-left-17 td:nth-of-type(17), table.align-left-18 td:nth-of-type(18), table.align-left-19 td:nth-of-type(19), table.align-left-20 td:nth-of-type(20) { text-align: left; } :root { --diff-addedline-border-color: #438ab5; --diff-addedline-background: #bddff2; --diff-addedline-color: #000; --diff-deletedline-border-color: #379541; --diff-deletedline-background: #c1edbf; --diff-deletedline-color: #000; --diff-context-border-color: var(--body-mid); --diff-context-background: var(--body-mid); } .diff-context { border-color: var(--diff-context-border-color); background: var(--diff-context-background); color: inherit; } .diff-addedline { border-color: var(--diff-addedline-border-color); } .diff-addedline .diffchange { background: var(--diff-addedline-background); color: var(--diff-addedline-color); } .diff-deletedline { border-color: var(--diff-deletedline-border-color); } .diff-deletedline .diffchange { background: var(--diff-deletedline-background); color: var(--diff-deletedline-color); } .mw-diff-movedpara-left:after, .mw-diff-movedpara-right:after { color: var(--text-color); } .mw-notification { background-color: var(--body-light); border-color: var(--body-border); color: var(--text-color); } .mw-echo-ui-notificationsInboxWidget-toolbarWrapper { background: var(--body-main); } .mw-body-content .mw-echo-ui-datedSubGroupListWidget-title-secondary { color: var(--byline-color); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal); color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget-label-count { background-color: var(--ooui-normal); color: var(--byline-color); } .oo-ui-optionWidget-selected .mw-echo-ui-pageNotificationsOptionWidget-label-count { color: var(--ooui-accent); } .mw-echo-ui-pageNotificationsOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal); color: var(--text-color); } .mw-echo-ui-crossWikiUnreadFilterWidget { border-color: var(--body-border); } .mw-echo-ui-crossWikiUnreadFilterWidget-subtitle { color: var(--byline-color); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-head, .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer { border-color: var(--ooui-interface-border); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup > .oo-ui-popupWidget-footer .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons .oo-ui-buttonElement:last-child { border-left-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget:hover, .mw-echo-ui-notificationItemWidget-unread:hover { background-color: var(--ooui-normal--hover); } .mw-echo-ui-notificationItemWidget:last-child { border-bottom-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-unread { background-color: var(--search-box); } .mw-echo-ui-crossWikiNotificationItemWidget-group, .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--ooui-interface); } .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive); } .mw-echo-ui-toggleReadCircleButtonWidget:hover .mw-echo-ui-toggleReadCircleButtonWidget-circle { background-color: var(--ooui-progressive--hover); } .mw-echo-ui-toggleReadCircleButtonWidget-circle-unread { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); } .mw-echo-ui-notificationItemWidget-content-message-header, .mw-echo-ui-notificationItemWidget-content-message-body, .mw-echo-ui-menuItemWidget > .oo-ui-buttonElement-button > .oo-ui-labelElement-label, .mw-echo-ui-notificationItemWidget-content-actions-timestamp { color: var(--ooui-text); } .mw-echo-ui-bundleNotificationItemWidget-group { background-color: var(--body-main); } @keyframes unseen-fadeout-to-unread { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--search-box); } } @keyframes unseen-fadeout-to-read { from { background-color: var(--wikitable-bg-lighter); } to { background-color: var(--body-main); } } .mwe-popups { background: var(--body-light); } .mwe-popups .mwe-popups-container { color: var(--text-color); background: var(--body-light); } .mwe-popups .mwe-popups-container.flipped-x-y:before, .mwe-popups .mwe-popups-container.flipped-y:before { border-top: none; } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:before { border-bottom: none; } .mwe-popups .mwe-popups-container.flipped-x-y:after, .mwe-popups .mwe-popups-container.flipped-y:after { border-top-color: var(--body-light); } .mwe-popups .mwe-popups-container.mwe-popups-no-image-tri:after { border-bottom-color: var(--body-light); } .mwe-popups .mwe-popups-settings-icon:hover, .mwe-popups .mwe-popups-settings-icon:active { background-color: var(--ooui-normal--hover); } .mwe-popups .mw-ui-icon-element:not(.disabled):hover { background: none; } .mwe-popups .mwe-popups-extract { color: var(--text-color); } .mwe-popups .mwe-popups-extract[dir='ltr']:after { background-image: linear-gradient(to right, rgba(49, 62, 89, 0), var(--body-light) 50%); } .mwe-popups-overlay { background-color: var(--ooui-window-background); } #mwe-popups-settings { background: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--text-color); } #mwe-popups-settings header { border-color: var(--ooui-interface-border); } #mwe-popups-settings main#mwe-popups-settings-form p { color: var(--byline-color); } #mwe-popups-settings main#mwe-popups-settings-form form label > span { color: var(--ooui-text); } :root { --smw-ask-options-even-bg: var(--body-mid); --smw-ask-options-odd-bg: var(--body-light); --smw-ask-action-btn-lblue-bg: var(--body-main); --smw-ask-action-btn-lblue-color: #000; --smw-ask-action-btn-lblue-border-color: var(--body-light); --smw-ask-action-btn-dblue-bg: var(--body-light); --smw-ask-action-btn-dblue-color: #fff; --smw-ask-action-btn-dblue-border-color: var(--button-border); } .smw-ask-condition fieldset, .smw-ask-printhead fieldset { border-color: var(--sidebar); } .smw-ask-search fieldset, .smw-ask-format fieldset, .smw-ask-options fieldset { border-color: var(--sidebar); } .strike > span:before, .strike > span:after { background: var(--sidebar); } .smw-ask-options-fields tr td { background-color: var(--smw-ask-options-even-bg); } .smw-ask-options-fields tr:nth-child(odd) td { background-color: var(--smw-ask-options-odd-bg); } .smw-ask-action-btn.smw-ask-action-btn-lblue, .smw-ask-action-btn.smw-ask-action-btn-lblue:hover, .smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--smw-ask-action-btn-lblue-bg); color: var(--smw-ask-action-btn-lblue-color); border-color: var(--smw-ask-action-btn-lblue-border-color); } .smw-ask-action-btn.smw-ask-action-btn-dblue, .smw-ask-action-btn.smw-ask-action-btn-dblue:hover, .smw-ask-action-btn.smw-ask-action-btn-dblue:visited { background-color: var(--smw-ask-action-btn-dblue-bg); color: var(--smw-ask-action-btn-dblue-color); border-color: var(--smw-ask-action-btn-dblue-border-color); } .smw-ask-query textarea, .smw-ask-actions textarea { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-query-format select { background-color: var(--ooui-interface); border: 1px solid var(--ooui-interface-border); color: var(--ooui-text); } .smw-ask-toplinks { background-color: var(--body-mid); } .smw-ask-toplinks span.smw-icon-info { background: none; padding: 0 !important; } .smw-ask-toplinks span.smw-icon-info::before { content: ''; background: var(--text-color); -webkit-mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d='M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z'/%3E%3C/svg%3E") no-repeat 50% 50% / contain; padding: 0 0 3px 18px; } .smw-ask-options-row-odd { background-color: var(--body-light); } .smw-ask-options-row-even { background-color: var(--body-mid); } #options-toggle:not(:checked) + #options-list .options-parameter-list:after { background-image: linear-gradient(to bottom, transparent, var(--body-mid) 90%); } .smw-ask-button-submit input { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--text-color); } .smw-ask-button-submit input:hover, .smw-ask-button-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); } input.smw-ask-action-btn.smw-ask-action-btn-dblue { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:visited { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn.smw-ask-action-btn-lblue:hover { background-color: var(--body-mid); border-color: var(--body-mid); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } a.smw-ask-action-btn-lgrey:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--ooui-text); } .smw-callout-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .smw-callout-info { background-color: var(--body-light); border-color: var(--body-dark); } .smw-callout-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .smw-callout-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-bg); } .smw-tabs input.nav-tab:checked + label.nav-label, .smw-tabs input.nav-tab:checked + label.nav-label:hover { color: inherit; } #tab-smw-property-value:checked + label.nav-label .usage-count { color: #fff; background-color: var(--ooui-progressive); } #tab-smw-property-value:checked + label.nav-label .usage-count.moderate { color: #fff; background-color: #b55e0c; border-color: #b55e0c; } #tab-smw-property-value:checked + label.nav-label .usage-count.high { color: #fff; background-color: #9f261e; border-color: #9f261e; } .smw-property-page-results .header-title { background-color: var(--ooui-interface); border-bottom-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-property-page-results .value-row:hover { background-color: var(--ooui-normal--hover); } .smw-property-page-results .smw-table .header-row { color: var(--text-color); } .tippy-tooltip.light-border-theme { background-color: var(--body-light); color: var(--text-color); } .tippy-tooltip.light-border-theme .tippy-arrow { border-top-color: var(--body-light); } .tippy-tooltip.light-border-theme .tippy-arrow:after { border-top-color: var(--body-light); } .tippy-header { background-color: var(--body-dark); border-bottom-color: var(--body-mid); } .smw-ui-input-filter { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); color: var(--ooui-text); } .smw-ui-input-filter input { border-left-color: var(--ooui-interface-border) !important; color: var(--ooui-text) !important; } .smw-ui-pagination .page-link.link-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); color: var(--subtle-color); } .smw-ui-pagination .page-link { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-normal-border); color: var(--link-color); } .smw-ui-pagination .page-link.link-active { color: #fff; background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .smw-tabs input.nav-tab:checked + label.nav-label { border-color: var(--ooui-normal-border); } .smw-tabs section, .smw-tabs .subtab-content { border-top-color: var(--ooui-normal-border); } .smw-column-header { color: var(--text-color); } .smw-factbox { background: var(--body-main); border-color: transparent; } .mw-body .mw-indicators #mw-indicator-smw-entity-examiner.mw-indicator .smw-indicator-vertical-bar-loader { display: none; } .smwb-theme-light .smwb-title, .smwb-theme-light .smwb-center, .smwb-theme-light .smwb-actions, .smwb-theme-light .smwb-prophead { background-color: var(--body-mid); } .smwb-theme-light .smwb-factbox { border-left-color: var(--body-mid); } .smwb-theme-light .smwb-ifactbox { border-right-color: var(--body-mid); } .smwb-theme-light .smwb-propval { background-color: var(--body-light); } .smwb-action-separator { border-color: var(--wikitable-border); } .smwb-bottom { border-bottom: 1px solid var(--wikitable-border); } .smwb-ifactbox .smwb-cell, .smwb-factbox .smwb-cell { border-top: 1px solid var(--wikitable-border); } .smwb-propvalue .smwb-prophead, .smwb-ipropvalue .smwb-prophead, .smwb-propvalue .smwb-propval, .smwb-ipropvalue .smwb-propval { font-size: 0.9em; } :root { --filter-black-to-link: invert(36%) sepia(58%) saturate(433%) hue-rotate(344deg) brightness(100%) contrast(91%); } #bodyContent span.smwbrowse a { color: black; background-image: url('filepath://Smwbrowse.svg'); filter: var(--filter-black-to-link); } #bodyContent span.smwbrowse a:hover { color: black; background-image: url('filepath://Smwbrowse-hover.svg'); text-decoration: underline; } #bodyContent span.smwsearch a { color: black; filter: var(--filter-black-to-link); background-image: url('filepath://Smwsearch.svg'); } #bodyContent span.smwsearch a:hover { color: black; background-image: url('filepath://Smwsearch-hover.svg'); text-decoration: underline; } :root { --tabber-tab-bg: var(--body-light); --tabber-tab-border-color: var(--body-border); --tabber-active-tab-bg: var(--body-light); --tabber-active-tab-color: var(--text-color); --tabber-active-tab-hover-bg: var(--body-light); --tabber-active-tab-hover-border-color: var(--body-border); --tabber-active-tab-hover-color: var(--text-color); --tabber-active-tab-border-hider-color: var(--body-light); --tabber-inactive-tab-bg: var(--body-background-color); --tabber-inactive-tab-border-color: var(--body-border); --tabber-inactive-tab-color: var(--text-color); --tabber-inactive-tab-hover-bg: var(--body-light); --tabber-inactive-tab-hover-border-color: var(--body-border); } .tabber { margin: 1em 0; } .tabber .tabbertab { background-color: var(--tabber-tab-bg); border: 1px solid var(--tabber-tab-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1em 1.5em; } ul.tabbernav { border: none; margin-left: 2em; margin-bottom: 0; margin-right: 2em; padding: 0; font-family: inherit; } ul.tabbernav li.tabberactive > a { background-color: var(--tabber-active-tab-bg); color: var(--tabber-active-tab-color); border-bottom: none; position: relative; } ul.tabbernav li.tabberactive > a:hover { color: var(--tabber-active-tab-hover-color); background-color: var(--tabber-active-tab-hover-bg); border-color: var(--tabber-active-tab-hover-border-color); border-bottom: none; } ul.tabbernav li.tabberactive > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; border-bottom: 2px solid var(--tabber-active-tab-border-hider-color); } ul.tabbernav li a { background-color: var(--tabber-inactive-tab-bg); border-bottom: transparent; border-color: var(--tabber-inactive-tab-border-color); color: var(--tabber-inactive-tab-color); display: inline-block; font-size: 110%; padding: 0.5em 1em; } ul.tabbernav li a:hover { background-color: var(--tabber-inactive-tab-hover-bg); border-color: var(--tabber-inactive-tab-hover-border-color); } ul.tabbernav li a:link, ul.tabbernav li a:visited { color: var(--tabber-inactive-tab-color); } :root { --ooui-text: var(--text-color); --ooui-interface: var(--body-light); --ooui-interface-border: var(--body-border); --ooui-window-background: rgba(255, 255, 255, 0.5); --ooui-normal: #cdb3a6; --ooui-normal--hover: #d8c4ba; --ooui-normal-border: #d1b9ad; --ooui-progressive: #936243; --ooui-progressive--hover: #b27a57; --ooui-accent: var(--link-color); --ooui-input: #fff; --ooui-input-border: #d1b9ad; --ooui-input-border--hover: #ae846f; --ooui-disabled: #ece3de; --ooui-disabled-border: #e3d5ce; --ooui-disabled-text: var(--subtle-color); --ooui-pending-background-image: repeating-linear-gradient(-45deg, var(--search-box), var(--search-box) 20px, var(--body-main) 20px, var(--body-main) 30px); } .oo-ui-widget { color: var(--ooui-text); } .oo-ui-checkboxInputWidget [type='checkbox'] + span, .oo-ui-radioInputWidget [type='radio'] + span { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate + span { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked + span { border-color: var(--ooui-progressive); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:hover + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:hover + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:hover + span { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:hover + span, .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:hover + span { border-color: var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:focus + span { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:active + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:active + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-radioInputWidget.oo-ui-widget-enabled [type='radio']:checked:active + span:before { border-color: var(--ooui-progressive--hover); } .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:checked:focus + span, .oo-ui-checkboxInputWidget.oo-ui-widget-enabled [type='checkbox']:indeterminate:focus + span { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-checkboxInputWidget [type='checkbox']:disabled + span, .oo-ui-radioInputWidget [type='radio']:disabled + span { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-dropdownWidget-handle { border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal); color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:active { color: var(--ooui-text); } .oo-ui-dropdownWidget.oo-ui-widget-enabled .oo-ui-dropdownWidget-handle:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-dropdownWidget.oo-ui-widget-enabled.oo-ui-dropdownWidget-open .oo-ui-dropdownWidget-handle { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownWidget.oo-ui-widget-disabled .oo-ui-dropdownWidget-handle { color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); background-color: var(--ooui-disabled); } .oo-ui-dropdownInputWidget select { border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget option { background-color: var(--ooui-interface); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select { color: var(--ooui-text); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:hover, .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:active { color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-dropdownInputWidget.oo-ui-widget-enabled select:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-labelWidget.oo-ui-inline-help { color: var(--byline-color); } .oo-ui-menuSelectWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-menuSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-normal-border); } .oo-ui-menuSectionOptionWidget { color: var(--byline-color); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-menuOptionWidget.oo-ui-optionWidget-selected.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted, .oo-ui-menuOptionWidget.oo-ui-optionWidget-pressed.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-accent); } .oo-ui-menuOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget { color: var(--ooui-text); } .oo-ui-messageDialog-title { color: inherit; } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-error { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-warning { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-success { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .oo-ui-messageWidget.oo-ui-messageWidget-block.oo-ui-flaggedElement-notice { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); } .oo-ui-messageWidget.oo-ui-flaggedElement-error:not(.oo-ui-messageWidget-block), .oo-ui-messageWidget.oo-ui-flaggedElement-success:not(.oo-ui-messageWidget-block) { color: var(--ooui-text); } .oo-ui-optionWidget.oo-ui-widget-disabled { color: var(--ooui-disabled-text); } .oo-ui-outlineControlsWidget { background-color: var(--ooui-normal); } .oo-ui-outlineOptionWidget.oo-ui-optionWidget-highlighted { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-popupWidget-popup { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:after { border-bottom-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-top .oo-ui-popupWidget-anchor:before { border-bottom-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:after { border-top-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-bottom .oo-ui-popupWidget-anchor:before { border-top-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:after { border-right-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-start .oo-ui-popupWidget-anchor:before { border-right-color: var(--ooui-interface-border); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:after { border-left-color: var(--ooui-interface); } .oo-ui-popupWidget-anchored-end .oo-ui-popupWidget-anchor:before { border-left-color: var(--ooui-interface-border); } .oo-ui-searchWidget-query { border-bottom-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget { background-color: var(--ooui-interface); } .oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover { border-color: var(--ooui-input-border--hover); } .oo-ui-tabOptionWidget { color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { background-color: var(--body-dark); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected .oo-ui-labelElement-label { border-bottom-color: var(--body-border); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:hover, .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled:active { background-color: var(--body-light); color: var(--ooui-text); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-widget-enabled.oo-ui-optionWidget-selected:hover { background-color: var(--body-dark); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--ooui-progressive); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive); } .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:hover, .oo-ui-tabSelectWidget-frameless .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected:focus { color: var(--ooui-progressive--hover); box-shadow: inset 0 -2px 0 0 var(--ooui-progressive--hover); } .oo-ui-tabSelectWidget-framed { background: none; border-bottom: 1px solid var(--ooui-interface-border); } .oo-ui-tabSelectWidget-frameless { box-shadow: inset 0 -1px 0 0 var(--ooui-interface-border); } .oo-ui-tabSelectWidget-mobile { } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-framed:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tabSelectWidget-mobile.oo-ui-tabSelectWidget-frameless:after { background: var(--mobile-navbox-linear-gradient); } .oo-ui-tagItemWidget { border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled { color: var(--ooui-text); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-tagItemWidget.oo-ui-widget-enabled:not( .oo-ui-tagItemWidget-fixed ) { background-color: var(--ooui-normal); } .oo-ui-tagItemWidget.oo-ui-widget-enabled .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined { background-color: var(--ooui-normal); } .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined .oo-ui-tagItemWidget.oo-ui-widget-enabled { background-color: var(--ooui-interface); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input::placeholder { color: var(--subtle-color); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-textInputWidget.oo-ui-widget-enabled .oo-ui-inputWidget-input[readonly]:not(.oo-ui-pendingElement-pending) { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input { border-color: var(--ooui-input-border--hover); } .oo-ui-textInputWidget.oo-ui-widget-enabled:hover .oo-ui-inputWidget-input:focus { border-color: var(--ooui-accent); } @media screen and (min-width: 0) { .oo-ui-textInputWidget.oo-ui-widget-enabled textarea.oo-ui-inputWidget-input:focus { outline: 1px solid var(--ooui-accent); } } .oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-inputWidget-input { background-color: var(--ooui-disabled); color: var(--ooui-disabled-text); text-shadow: none; border-color: var(--ooui-disabled-border); } .oo-ui-toggleSwitchWidget { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input-border); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:hover .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:hover .oo-ui-toggleSwitchWidget-grip, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:active:focus .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled:focus .oo-ui-toggleSwitchWidget-grip { border-color: var(--ooui-accent); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip { background-color: var(--ooui-input); border-color: var(--ooui-input); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active, .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:active:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus { border-color: var(--ooui-progressive); } .oo-ui-toggleSwitchWidget.oo-ui-widget-enabled.oo-ui-toggleWidget-on:focus::before { border-color: #fff; } .oo-ui-toggleSwitchWidget.oo-ui-widget-disabled { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { color: var(--ooui-text); border-color: var(--ooui-text); } .oo-ui-buttonElement-frameless.oo-ui-widget-disabled > .oo-ui-buttonElement-button { color: var(--ooui-disabled-text); } .oo-ui-buttonElement-framed.oo-ui-widget-disabled > .oo-ui-buttonElement-button { background-color: var(--ooui-disabled); border-color: var(--ooui-disabled-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); color: #fff; border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-active > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-progressive--hover); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive { } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button { color: var(--ooui-text); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { background-color: var(--ooui-progressive); border-color: var(--ooui-progressive); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-buttonElement-active > .oo-ui-buttonElement-button, .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-popupToolGroup-active > .oo-ui-buttonElement-button { color: #fff; background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } .oo-ui-pendingElement-pending { background-image: var(--ooui-pending-background-image); background-size: 200%; animation: oo-ui-pendingElement-stripes 6s linear infinite; } @keyframes oo-ui-pendingElement-stripes { 100% { background-position: 100%; } } .oo-ui-messageDialog-content > .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-messageDialog-message { color: var(--ooui-text); } .oo-ui-messageDialog-actions-horizontal .oo-ui-actionWidget { border-right-color: var(--ooui-interface-border); } .oo-ui-messageDialog-actions-vertical .oo-ui-actionWidget { border-bottom-color: var(--ooui-interface-border); } .oo-ui-processDialog-content .oo-ui-window-head, .oo-ui-processDialog-content .oo-ui-window-foot { outline-color: var(--ooui-interface-border); } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget > .oo-ui-buttonElement-button:active { border-top-color: transparent; border-bottom-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:hover, .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:active { border-right-color: var(--ooui-interface-border); border-left-color: transparent; } .oo-ui-processDialog .oo-ui-actionWidget:not( .oo-ui-flaggedElement-progressive ):not( .oo-ui-flaggedElement-destructive ) > .oo-ui-buttonElement-button:focus { border-color: var(--ooui-accent); } .oo-ui-processDialog-actions-safe .oo-ui-actionWidget > .oo-ui-buttonElement-button, .oo-ui-processDialog-actions-other .oo-ui-actionWidget > .oo-ui-buttonElement-button { border-right-color: var(--ooui-normal-border); border-left-color: transparent; } .oo-ui-processDialog-actions-safe .oo-ui-widget-enabled.oo-ui-iconElement:not( .oo-ui-labelElement ) > .oo-ui-buttonElement-button:hover { background-color: var(--ooui-normal--hover); border-right-color: var(--ooui-interface-border); } .oo-ui-windowManager-modal > .oo-ui-dialog { background-color: var(--ooui-window-background); } .oo-ui-windowManager-modal > .oo-ui-dialog > .oo-ui-window-frame { background-color: var(--ooui-interface); } .oo-ui-windowManager-modal.oo-ui-windowManager-floating > .oo-ui-dialog > .oo-ui-window-frame { border-color: var(--ooui-interface-border); } .oo-ui-window { color: var(--ooui-text); } .oo-ui-toolbar-bar { background-color: var(--ooui-interface); color: var(--ooui-text); } .oo-ui-toolbar-position-top > .oo-ui-toolbar-bar { border-bottom-color: var(--body-mid); } .oo-ui-toolbar-bar .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--body-mid); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:hover { background-color: var(--ooui-normal--hover); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-tool.oo-ui-widget-enabled > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-tool-active > .oo-ui-tool-link, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-popupToolGroup-active > .oo-ui-tool-link { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); box-shadow: none; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link { background-color: var(--ooui-progressive); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:hover { background-color: var(--ooui-progressive--hover); } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent), inset 0 0 0 2px #fff; } .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-tool-link:active, .oo-ui-tool.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive.oo-ui-tool-active > .oo-ui-tool-link { background-color: var(--ooui-progressive--hover); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled { background-color: var(--ooui-normal); } .oo-ui-listToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-text); } .oo-ui-listToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-menuToolGroup { border-left-color: var(--body-mid); border-right-color: var(--body-mid); } .oo-ui-popupToolGroup-tools { background-color: var(--ooui-interface); border-color: var(--body-mid); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:focus { outline: 1px solid var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .oo-ui-toolbar-actions .oo-ui-popupToolGroup.oo-ui-widget-enabled > .oo-ui-popupToolGroup-handle:hover { border-right-color: var(--ooui-normal--hover); } .oo-ui-popupToolGroup-tools .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link:focus { box-shadow: inset 0 0 0 2px var(--ooui-accent); } .oo-ui-popupToolGroup-tools .oo-ui-tool-active.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title { color: var(--ooui-progressive); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle { background-color: var(--ooui-normal); color: var(--ooui-accent); } .oo-ui-popupToolGroup.oo-ui-popupToolGroup-active > .oo-ui-popupToolGroup-handle:hover { background-color: var(--ooui-normal--hover); color: var(--ooui-accent); } .oo-ui-bookletLayout-outlinePanel > .oo-ui-outlineControlsWidget { border-top-color: var(--ooui-interface-border); } .oo-ui-bookletLayout > .oo-ui-menuLayout-menu { border-right-color: var(--ooui-interface-border); } .oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header > .oo-ui-labelElement-label { color: var(--ooui-disabled-text); } .oo-ui-panelLayout-framed { border-color: var(--sidebar); } .oo-ui-icon-settings { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform='translate(10 10)'%3E%3Cpath id='a' d='M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3'/%3E%3Cuse xlink:href='%23a' transform='rotate(45)'/%3E%3Cuse xlink:href='%23a' transform='rotate(90)'/%3E%3Cuse xlink:href='%23a' transform='rotate(135)'/%3E%3C/g%3E%3Cpath d='M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7'/%3E%3C/svg%3E"); } .oo-ui-icon-clear { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3Eclear%3C/title%3E%3Cpath d='M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0zm5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z'/%3E%3C/svg%3E"); } .mw-widget-dateInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widget-dateInputWidget-calendar { background-color: var(--ooui-interface); } .mw-widget-dateInputWidget.oo-ui-widget-enabled .mw-widget-dateInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widget-calendarWidget { border-color: var(--ooui-interface-border); } .mw-widget-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-day, .mw-widget-calendarWidget-day-heading { color: var(--ooui-text); } .mw-widget-calendarWidget-day-additional { color: var(--ooui-text); opacity: 0.67; } .mw-widget-calendarWidget-day-today { box-shadow: inset 0 0 0 1px var(--ooui-accent); } .mw-widget-calendarWidget-item:hover { background-color: var(--ooui-progressive); } .mw-widget-calendarWidget-item-selected { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-calendarWidget { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-widgets-datetime-calendarWidget:focus { border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent), 0 2px 2px 0 rgba(0, 0, 0, 0.25); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-extra .oo-ui-buttonElement-button .oo-ui-labelElement-label { color: var(--subtle-color); } .mw-widgets-datetime-calendarWidget-grid .mw-widgets-datetime-calendarWidget-cell.mw-widgets-datetime-calendarWidget-selected .oo-ui-buttonElement-button { background-color: var(--ooui-progressive--hover); } .mw-widgets-datetime-dateTimeInputWidget-handle { background-color: var(--ooui-input); color: var(--ooui-text); border-color: var(--ooui-input-border); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled.mw-widgets-datetime-dateTimeInputWidget-handle:hover { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover input, .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled:hover textarea { border-color: var(--ooui-input-border--hover); } .mw-widgets-datetime-dateTimeInputWidget.oo-ui-widget-enabled .mw-widgets-datetime-dateTimeInputWidget-editField:hover { background-color: var(--ooui-normal); } .ve-activated .ve-init-mw-desktopArticleTarget-originalContent #catlinks:hover { background: var(--ooui-normal--hover); } .ve-ui-overlay { font-family: inherit; } .oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above { border-top-color: var(--body-mid); } .ve-ce-branchNode-blockSlug, .ve-ce-branchNode-newSlug { outline-color: var(--body-border); background-color: var(--ooui-interface); } .ve-ui-specialCharacterPage h3 { color: var(--byline-color); } .ve-ui-specialCharacterPage-character { border-color: var(--body-mid); } .ve-ui-specialCharacterPage-character:hover { border-color: var(--body-dark); } .ve-ce-linkAnnotation.ve-ce-annotation-active { box-shadow: 0 0 0 1px var(--body-mid); background: none; } .ve-ui-desktopContext .ve-ui-linkContextItem .ve-ui-linkContextItem-label { border-color: var(--body-border); } .ve-ui-mwHelpPopupTool-version-label, .ve-ui-mwHelpPopupTool-version-link, .ve-ui-mwHelpPopupTool-version-date { color: var(--byline-color); } .ve-ce-tableCellableNode { border-color: var(--body-mid); } .ve-ce-mwReferencesListNode-muted { color: var(--byline-color); } .ve-ui-mwTemplatePage-description, .ve-ui-mwParameterPage-label, .ve-ui-mwParameterPage-description-required, .ve-ui-mwParameterPage-description-deprecated { color: var(--byline-color); } .mw-widget-titleWidget-menu .mw-widget-titleOptionWidget-description { color: var(--byline-color); } .ve-ui-mwGalleryDialog-menuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog-innerMenuLayout > .oo-ui-menuLayout-menu, .ve-ui-mwGalleryDialog .ve-ui-mwGalleryDialog-image-container, .ve-ui-targetWidget { border-color: var(--body-border); } .ve-ui-targetWidget:not(.oo-ui-pendingElement-pending) { background-color: var(--body-main); } .ve-ui-mwSaveDialog { color: var(--ooui-text); } .ve-ui-mwSaveDialog-options { background-color: var(--ooui-interface); border-color: var(--body-border); } .ve-ui-mwSaveDialog-summary { background-color: var(--ooui-input); } .ve-ui-mwSaveDialog-editSummary-count { border-color: var(--body-border); } .ve-ui-mwSaveDialog-license { color: var(--byline-color); } .ve-ui-mwReferenceContextItem-muted { color: var(--byline-color); } .ve-ui-mwNoticesPopupTool-items > div:not(:first-child), .ve-ui-mwHelpPopupTool-item:not(:first-child) { border-color: var(--body-border); } .ve-ui-mwTransclusionOutlineControlsWidget { background-color: var(--ooui-interface); border-top-color: var(--body-border); } .ve-ui-mwTransclusionOutlineTemplateWidget-sticky { background-color: var(--ooui-interface); } .ve-ui-mwTransclusionOutlineTemplateWidget .ve-ui-mwTransclusionOutlineParameterWidget.oo-ui-optionWidget-highlighted { color: var(--ooui-text); } .ve-ui-mwTransclusionOutlineTemplateWidget-no-template-parameters { color: var(--subtle-color); } .ve-ui-mwParameterPage-undocumentedLabel { color: var(--subtle-color); } .ve-ui-mwTwoPaneTransclusionDialogLayout > .oo-ui-menuLayout-menu { border-right: var(--body-border); } .ve-ui-mwParameterPage-doc-required, .ve-ui-mwParameterPage-doc-deprecated, .ve-ui-mwParameterPage-inlineDescription .ve-ui-mwParameterPage-doc-example { color: var(--byline-color); } .ve-ui-expandableContent-toggle { background-color: var(--ooui-interface); } .ve-ui-expandableContent-fade { background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, var(--ooui-interface) 90%); } .ve-ui-commandHelpDialog-shortcut > kbd, .ve-ui-commandHelpDialog-sequence > kbd { background-color: var(--keypress-background); color: var(--keypress-color); border-color: var(--keypress-border); box-shadow: none; text-shadow: none; } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { background: var(--ooui-interface); } .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar { border-bottom-color: var(--body-mid); } figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], figure[typeof~='mw:Image/Thumb'], figure[typeof~='mw:Video/Thumb'], figure[typeof~='mw:Image/Frame'], figure[typeof~='mw:Video/Frame'] { border: none; background-color: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:File/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Thumb'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Image/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ), figure[typeof~='mw:Video/Frame'] > a:first-child > *:first-child:not( .mw-broken-media ) { border: none; background: var(--thumb-bg); } figure[typeof~='mw:File/Thumb'] > figcaption, figure[typeof~='mw:File/Frame'] > figcaption, figure[typeof~='mw:Image/Thumb'] > figcaption, figure[typeof~='mw:Video/Thumb'] > figcaption, figure[typeof~='mw:Image/Frame'] > figcaption, figure[typeof~='mw:Video/Frame'] > figcaption { border: none; background-color: var(--thumb-caption-bg); padding: 4px 6px; } :root { --keypress-background: #eee; --keypress-border: #ccc; --keypress-color: #333; } .toc .toctitle > * { color: #fff; } .toc .toctitle > * .toctogglelabel { color: var(--table-header-link); } .navbox .navbox-title { color: #fff; } .navbox .navbox-title a { color: var(--table-header-link); } .archivelist { background-color: var(--body-light); border: solid 1px var(--body-border); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); float: right; margin: 5px; padding: 5px; text-align: center; width: 120px; } .shortcut { border: 1px solid var(--body-border); background: var(--body-light); float: right; font-size: 0.8em; margin: 0.5em 0em 0.5em 1em; padding: 0.5em; text-align: center; } .hatnote, .seealso { font-style: italic; } .hatnote i, .seealso i { font-style: normal; } div.hatnote, div.seealso { margin: 0.5em 1.6em; } div.hatnote + div.hatnote, div.hatnote + div.seealso, div.seealso + div.hatnote, div.seealso + div.seealso { margin-top: -0.5em; } .keypress { background: var(--keypress-background); color: var(--keypress-color); font-family: inherit; border: 1px solid var(--keypress-border); border-radius: 2px; font-size: 0.9em; margin: 0 0.1em; padding: 0.1em 0.4em; white-space: nowrap; } .relative-location { background: var(--body-light); border: 1px solid var(--body-border); border-spacing: 0; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); text-align: center; } .relative-location-header { background: var(--body-dark); color: #fff; font-weight: bold; } :root { --documentation-background: #f9fafa; --documentation-link-color: #e4eaee; --documentation-headers-color: #fff; --documentation-header-background: #949eaa; --documentation-subheader-background: #808c9a; --documentation-border: #e4eaee; } .documentation { background: var(--documentation-background); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); margin: 1em 0; } .documentation pre, .documentation code { background-color: var(--documentation-background); border-color: var(--documentation-border); } .documentation h2, .documentation hr { border-color: var(--documentation-border); } .documentation-header { color: var(--documentation-headers-color); background: var(--documentation-header-background); font-weight: bold; padding: 1em 1.5em; } .documentation-title { font-size: 1.25em; } .documentation-subheader { color: var(--documentation-headers-color); background: var(--documentation-subheader-background); padding: 0.5em 1.5em; } .documentation-subheader a, .documentation-subheader a:visited, .documentation-subheader a:active { color: var(--documentation-link-color); } .documentation-documentation, .documentation-links { font-size: 0.85em; } .documentation-content { padding: 1em 1.5em; } .mw-templatedata-doc-params dl:not(:empty) { column-count: 3; border-top: 1px solid var(--body-border); margin-bottom: 0.5em; } .mw-templatedata-doc-params dt::after { content: ":"; } .mw-templatedata-doc-params dd, .mw-templatedata-doc-params dt { margin: 0.1em 2em; min-width: auto; } .mw-templatedata-doc-muted { color: var(--subtle-color); font-style: italic; } :root { --infobox-text-color: var(--text-color); --table-header: var(--body-dark); --table-subheader: var(--body-mid); --table-body: var(--body-light); --table-border: var(--body-border); } .infobox { font-size: 0.85em; width: 300px; border-collapse: collapse; float: right; table-layout: fixed; margin: 0.5em 0 1em 1em; } .infobox .infobox-buttons { display: flex; flex-wrap: wrap; justify-content: center; grid-gap: 3px; margin-bottom: 3px; } .infobox .infobox-buttons .button { background: var(--table-subheader); padding: 0 5px; font-weight: bold; flex: 1 1 20%; max-width: 20%; color: #fff; } .infobox .infobox-buttons .button.button-selected { background: var(--table-header); } .infobox tbody { border: 1px solid var(--table-border); background: var(--table-body); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(231, 215, 199, 0.5); } .infobox .infobox-header { background: var(--table-header); padding: 0.5em 0; text-align: center; color: #fff; font-size: 1.15em; font-weight: bold; line-height: 1.4em; } .infobox .infobox-image { text-align: center; } .infobox .infobox-subheader { background: var(--table-subheader); font-weight: bold; text-align: center; color: #fff; } .infobox .infobox-subheader a { color: var(--link-color); } .infobox .infobox-padding { backgound: var(--table-body); } .infobox tr td:not(.infobox-padding) { padding: 0.2em 0.5em; } .infobox th:not(.infobox-header):not(.infobox-subheader):not(.infobox-nested) { border-right: 2px solid var(--table-subheader); text-align: right; padding: 0.2em 0.5em; } .infobox select { max-width: 300px; } .hidden { display: none; } ol.references, .reflist { font-size: 90%; } .reflist { list-style-type: decimal; } .reflist .references { font-size: 100%; list-style-type: inherit; } .reflist-lower-alpha { list-style-type: lower-alpha; } ol.references li:target, sup.reference:target { background-color: var(--body-light); } .hideQuotes .refhide { display: none; } :root { --messagebox-obsolete-background: #cfcfcf; --messagebox-obsolete-border: #464646; --messagebox-obsolete-color: var(--text-color); --messagebox-obsolete-link-color: #6c6c6c; --messagebox-info-background: #ebebeb; --messagebox-info-border: #898989; --messagebox-info-color: var(--text-color); --messagebox-info-link-color: #6c6c6c; --messagebox-action-background: #c7e8fa; --messagebox-action-border: #0b5884; --messagebox-action-color: var(--text-color); --messagebox-action-link-color: #03436b; --messagebox-warn-background: #dfc0ba; --messagebox-warn-border: #861c10; --messagebox-warn-color: var(--text-color); --messagebox-warn-link-color: #8e221a; --messagebox-safe-background: #d8f0d3; --messagebox-safe-border: #1b8408; --messagebox-safe-color: var(--text-color); --messagebox-safe-link-color: #1b8408; --messagebox-disambig-background: #ebebeb; --messagebox-disambig-border: #898989; --messagebox-disambig-color: var(--text-color); --messagebox-disambig-link-color: #6c6c6c; --messagebox-discord-background: #5865f2; --messagebox-discord-border: #4c57d0; --messagebox-discord-link-color: #d2e5fc; } .mw-message-box, .mw-message-box-error, .mw-message-box-warning, .mw-message-box-success, .usermessage { color: var(--text-color); } .messagebox { width: 65%; margin: 0.5em auto; border-left: 15px solid; border-color: var(--body-dark); background-color: var(--body-light); box-sizing: border-box; } .messagebox.obsolete { background-color: var(--messagebox-obsolete-background); border-color: var(--messagebox-obsolete-border); color: var(--messagebox-obsolete-color); } .messagebox.obsolete a, .messagebox.obsolete a:visited, .messagebox.obsolete a:active { color: var(--messagebox-obsolete-link-color); } .messagebox.info { background-color: var(--messagebox-info-background); border-color: var(--messagebox-info-border); color: var(--messagebox-info-color); } .messagebox.info a, .messagebox.info a:visited, .messagebox.info a:active { color: var(--messagebox-info-link-color); } .messagebox.action { background-color: var(--messagebox-action-background); border-color: var(--messagebox-action-border); color: var(--messagebox-action-color); } .messagebox.action a, .messagebox.action a:visited, .messagebox.action a:active { color: var(--messagebox-action-link-color); } .messagebox.warn { background-color: var(--messagebox-warn-background); border-color: var(--messagebox-warn-border); color: var(--messagebox-warn-color); } .messagebox.warn a, .messagebox.warn a:visited, .messagebox.warn a:active { color: var(--messagebox-warn-link-color); } .messagebox.safe { background-color: var(--messagebox-safe-background); border-color: var(--messagebox-safe-border); color: var(--messagebox-safe-color); } .messagebox.safe a, .messagebox.safe a:visited, .messagebox.safe a:active { color: var(--messagebox-safe-link-color); } .messagebox.disambig { background-color: var(--messagebox-disambig-background); border-color: var(--messagebox-disambig-border); color: var(--messagebox-disambig-color); } .messagebox.disambig a, .messagebox.disambig a:visited, .messagebox.disambig a:active { color: var(--messagebox-disambig-link-color); } .messagebox.discord { background-color: var(--messagebox-discord-background); border-color: var(--messagebox-discord-border); color: #fff; } .messagebox.discord a, .messagebox.discord a:visited, .messagebox.discord a:active { color: var(--messagebox-discord-link-color); } .messagebox.discord a.external, .messagebox.discord a:visited.external, .messagebox.discord a:active.external { font-style: italic; } .messagebox.stub { width: 40%; } .messagebox.hasdialogue { padding: 0 10px; width: auto; } :root { --byline-arrow-filter: invert(29%) sepia(0%) saturate(376%) hue-rotate(172deg) brightness(87%) contrast(80%); --tile-border-color: var(--body-border); --tile-background-color: var(--body-light); --tile-link-button-color: #f5e9db; --tile-link-button-highlight-color: #dfccb0; --tile-dark-color: #fff; --tile-dark-bg: var(--body-dark); --tile-dark-link-color: #ccc; --tile-dark-byline-color: rgba(255, 255, 255, 0.7); --tile-dark-header-color: #fff; } .tile { background: var(--tile-background-color); border: 1px solid var(--tile-border-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); padding: 1.5em 2em 1em; max-width: 40em; } .tile h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile .byline + h2 { margin-top: -0.5em; } .tile.dark { color: var(--tile-dark-color); background: var(--tile-dark-bg); border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .tile.dark h2 { color: var(--tile-dark-header-color); } .tile.dark a { color: var(--tile-dark-link-color); } .tile.dark .byline { color: var(--tile-dark-byline-color); } .byline { font-size: 0.9em; color: var(--byline-color); } .byline a { color: var(--byline-color); } .tile-row { display: flex; flex-flow: row wrap; margin-bottom: 1em; } .tile-halves { display: flex; flex-flow: row wrap; background: var(--tile-background-color); box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } .tile-halves h2 { font-size: 1.4em; font-weight: bold; border: none; margin: 0 0 0.4em; } .tile-halves .byline + h2 { margin-top: -0.5em; } .tile-top { width: 100%; padding: 1.3rem 1.5rem 0.6rem; } .tile-top.tile-image { display: flex; align-items: center; background-color: var(--body-light); overflow: hidden; padding: 0; height: 13vw; max-height: 12em; transition: 0.4s ease-out; } .tile-halves:hover .tile-top.tile-image img { transform: scale(1.1); transition: 0.5s ease-out; } .tile-top.tile-image a { width: 100%; } .tile-top.tile-image img { width: 100%; object-fit: cover; max-height: 200px; transition: 0.4s ease-out; } .tile-bottom { background: var(--body-dark); width: 100%; padding: 1rem 1.5rem 0.6rem; } .tile-bottom h2 a { color: #fff !important; } .tile-bottom.link-button { align-self: flex-end; padding: 0; } .tile-bottom.link-button a { display: block; text-align: center; padding: 0.75em 1.5em 0.8em; text-decoration: none; } .tile-bottom.read-more { background: var(--tile-link-button-color); transition: 0.3s ease-out; } .tile-bottom.read-more a { color: var(--byline-color); font-weight: bold; text-align: right; } .tile-bottom.read-more:hover { background: var(--tile-link-button-highlight-color); } .tile-bottom.read-more:hover .arrow { transform: translateX(50%); } .tile-bottom.read-more .arrow { filter: var(--byline-arrow-filter); margin-left: 0.4em; transition: 0.3s ease-out; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #firstHeading, body.page-Main_Page.action-view #siteNotice { display: none; } body.page-Main_Page .mw-parser-output { max-width: 75em; margin: 0 auto; } body.page-Main_Page.action-view .catlinks, body.page-Main_Page.action-view #contentSub, body.page-Main_Page.action-view #siteNotice { display: none; } .mainpage-header { display: flex; margin: 2.6em 1.75em 1.5em; } .mainpage-header .header-intro { flex: 2; } .mainpage-header .header-intro h1 { font-size: 2.5em; font-weight: bold; border: none; margin: 0 0 0.15em; } .mainpage-header .header-intro p { font-size: 1.1em; line-height: 1.7em; } .mainpage-header .header-stats { flex: 1; display: flex; justify-content: center; align-items: center; margin-top: -1em; } .mainpage-body { display: grid; grid-template-areas: "event event event" "update update update" "content content content" "left left right"; gap: 0.9rem; grid-template-columns: repeat(3, 1fr); } .mainpage-body h2 a { color: var(--text-color); } .mainpage-body .tile { padding-left: 1.75em; padding-right: 1.75em; max-width: 100%; } .mainpage-body .tile-row { width: 100%; margin-bottom: 0; } .mainpage-body .tile-row { display: grid; gap: 0.9rem; } .mainpage-contents.tile-row { display: flex; } .mainpage-contents.tile-row .tile-top { height: 5.5rem; } .mainpage-left { grid-area: left; flex: 2; display: flex; flex-flow: column wrap; } .mainpage-left > * { margin: 0 0 0.9rem; } .mainpage-right { grid-area: right; flex: 1; display: flex; flex-flow: column wrap; } .mainpage-right > * { margin: 0 0 0.9rem; } .arrow { background: url('filepath://White-chevron.svg') no-repeat; display: inline-block; height: 0.7rem; width: 0.45rem; vertical-align: middle; } .arrow.dark { filter: invert(80%); } .mainpage-contents { grid-area: content; grid-template-columns: repeat(6, 1fr); } .mainpage-contents .tile-halves { flex: 1; } .mainpage-contents .tile-top { height: 4.5rem; position: relative; } .mainpage-contents .tile-top.tile-image img { height: auto; } .mainpage-contents h2 { margin: 0; padding: 0; } .mainpage-contents .tile-bottom.link-button a { padding: 0.75em 0.2em; } .popular-pages ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.6em; margin: 1em 0 0.7em 0; } .mp-popular-page-light { display: flex; align-items: center; background-color: var(--button-background); transition: 100ms; } .mp-popular-page-light a { flex: 1; display: block; color: #fff; font-weight: bold; text-align: center; text-decoration: none; padding: 0.7em 1em; } .mp-popular-page-light:hover { filter: brightness(115%); transition: 100ms; } .mainpage-social { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-social .tile-top { display: flex; align-items: center; padding: 1em 1.5em; } .mainpage-social .tile-top a { flex: 1; position: relative; text-decoration: none; } .mainpage-social .tile-top a:hover .arrow { transform: translateX(50%); } .mainpage-social .tile-bottom { border: none; padding: 1em 1.75em; } .mainpage-social .tile-bottom p { color: #fff; font-weight: bold; font-size: 0.9em; text-align: center; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; } .mainpage-social .social-icon { margin-right: 0.75em; text-align: center; width: 60px; } .mainpage-social .social-header { color: #fff; font-weight: bold; font-size: 1.15em; margin: 0.5em 0 -0.15em; } .mainpage-social .server-tagline { color: rgba(255, 255, 255, 0.9); margin-bottom: 0.5em; } .mainpage-social .arrow { position: absolute; top: calc(50% - .5em); right: 0; height: 1em; width: 0.7em; background-size: 0.7em 1em; transition: 0.3s ease-out; } .mainpage-social.mainpage-discord .tile-top { background: #5865f2; } .mainpage-social.mainpage-discord .tile-bottom { background: #525ee0; } .mainpage-social.mainpage-twitter .tile-top { background: #15202b; } .mainpage-social.mainpage-twitter .tile-bottom { background: #121c26; } .mainpage-editing { border: none; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.3); } .mainpage-editing .tile-top { background: #438ab5; } .mainpage-editing .tile-bottom { background: #3980ab; border: none; padding: 0.8rem 1.5rem 0.4rem; } .mainpage-editing h2, .mainpage-editing a { color: #fff; } .mainpage-editing p { color: rgba(255, 255, 255, 0.9); } .mainpage-editing ul { list-style-image: url('filepath://Transparent-chevron.svg'); } @media only screen and (max-width: 1200px) { .mainpage-contents { grid-template-columns: repeat(3, 1fr); } } @media only screen and (max-width: 1000px) { .mainpage-body { grid-template-areas: "event event event" "update update update" "content content content" "left left left" "right right right"; } .mainpage-recent-updates { grid-template-columns: repeat(2, 1fr); } .mainpage-recent-updates .tile-halves:last-child { display: none; } .mainpage-recent-updates .tile-halves:hover .tile-top img { transform: scale(1.04); } .mainpage-recent-updates .tile-top { height: 18vw; min-height: 9em; } .mainpage-header .header-stats { display: none; } .mainpage-left > *:last-child, .mainpage-right > *:last-child { margin-bottom: 0; } .popular-pages ul { grid-template-columns: repeat(2, 1fr); } } @media only screen and (max-width: 720px) { .mainpage-recent-updates { grid-template-columns: none; } .mainpage-recent-updates .tile-halves:last-child { display: flex; } .mainpage-contents { grid-template-columns: repeat(2, 1fr); } } .mw-prefs-buttons { background-color: var(--body-main); border-top-color: var(--body-border); box-shadow: none; } .mw-prefs-tabs-wrapper.oo-ui-panelLayout-framed, .mw-prefs-tabs > .oo-ui-menuLayout-content > .oo-ui-indexLayout-stackLayout > .oo-ui-tabPanelLayout { border-color: var(--body-border); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:nth-child(even) td { background-color: var(--body-light); } .mw-htmlform-ooui .mw-htmlform-matrix tbody tr:hover td { background-color: var(--body-mid); } :root { --rc-positive-color: #407813; --rc-negative-color: #b41e0f; } .mw-plusminus-pos { color: var(--rc-positive-color); } .mw-plusminus-neg { color: var(--rc-negative-color); } .client-js .mw-recentchanges-toplinks:not(.mw-recentchanges-toplinks-collapsed) { border-color: var(--body-border); background-color: var(--body-light); border-radius: 2px; } .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: var(--text-color); } .mw-rcfilters-ui-filterTagMultiselectWidget-emptyFilters { color: var(--byline-color); } .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-filterTagMultiselectWidget-views-select-widget.oo-ui-widget { border-color: var(--ooui-interface-border); } .mw-rcfilters-collapsed .mw-rcfilters-ui-filterTagMultiselectWidget { border-bottom-color: var(--ooui-interface-border); } .mw-rcfilters-ui-menuSelectWidget-footer { background-color: var(--ooui-interface); border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-viewSwitchWidget label.oo-ui-labelWidget { color: var(--byline-color); } .mw-rcfilters-ui-tagItemWidget-popup-content { color: var(--ooui-text); } .mw-changeslist-legend, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background-color: var(--body-light); border-color: var(--body-dark); } .mw-rcfilters-ui-changesListWrapperWidget-previousChangesIndicator { border-color: var(--sidebar); } .client-js .mw-changeslist ul, .client-js .mw-changeslist table.mw-enhanced-rc { margin-left: 0; } .mw-rcfilters-ui-watchlistTopSectionWidget-separator { border-color: var(--sidebar); } .mw-rcfilters-ui-itemMenuOptionWidget-header { border-bottom-color: var(--ooui-interface); background-color: var(--ooui-interface-border); } .mw-rcfilters-ui-itemMenuOptionWidget:not(:last-child):not(.mw-rcfilters-ui-itemMenuOptionWidget-identifier-talk) { border-bottom-color: var(--ooui-normal-border); } .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--text-color); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted:not(.oo-ui-optionWidget-selected) { background-color: var(--body-main); } .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-title, .mw-rcfilters-ui-filterMenuOptionWidget.oo-ui-flaggedElement-muted .mw-rcfilters-ui-itemMenuOptionWidget-label-desc { color: var(--subtle-color); } .mw-rcfilters-ui-filterMenuSectionOptionWidget { background-color: var(--body-mid); } .mw-rcfilters-ui-filterMenuSectionOptionWidget-header-title.oo-ui-labelElement-label { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-title { color: var(--ooui-text); } .mw-rcfilters-ui-filterMenuHeaderWidget-header { border-bottom-color: var(--ooui-interface-border); background-color: var(--ooui-interface); } .mw-rcfilters-ui-itemMenuOptionWidget-view-namespaces { border-top-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget { border-color: var(--ooui-interface-border); } .mw-rcfilters-ui-datePopupWidget .mw-rcfilters-ui-valuePickerWidget-title { color: var(--byline-color); } .mw-rcfilters-ui-savedLinksListItemWidget-label { color: var(--ooui-accent); } .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted ul, .client-js .mw-changeslist.mw-rcfilters-ui-changesListWrapperWidget-highlighted table.mw-enhanced-rc { margin-left: 1.5em; } .page-Special_CreateAccount .mw-ui-container, .page-Special_UserLogin .mw-ui-container { max-width: 64rem; margin: 0 auto; } .mw-number-text { color: var(--byline-color); } .mw-body-content .mw-number-text h3 { color: var(--text-color); } #mw-indicator-mw-helplink a { background: none; padding: 0; display: flex; align-items: center; } #mw-indicator-mw-helplink a::before { content: ''; margin-right: 5px; -webkit-mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; mask: url("/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34") no-repeat 50% 50% / contain; background: var(--text-color); height: 20px; width: 20px; } .results-info { color: inherit; } .mw-search-profile-tabs { background-color: var(--body-mid); border-color: transparent; } .search-types .current a { color: inherit; } #mw-searchoptions { background-color: var(--body-mid); border-color: transparent; } #mw-searchoptions .divider { border-color: var(--body-border); } #mw-searchoptions h4 { font-family: inherit; } #mw-searchoptions .oo-ui-labelElement:nth-of-type(odd) { font-weight: bold; } .searchresult { line-height: 1.5; } .searchalttitle, #mw-search-interwiki li { font-size: 90%; } .mw-search-result-data { color: var(--byline-color); } .page-Special_ListFiles a.image img { width: inherit; height: inherit; } .page-Special_ListFiles .TablePager_col_thumb { text-align: center; } #editcount table[border="1"] { background-color: var(--body-main) !important; border-color: var(--wikitable-border) !important; margin-top: 0.5em; } #editcount table[border="1"] th, #editcount table[border="1"] td { padding: 0.2em 0.4em; } #editcount table[border="1"] th { background-color: var(--wikitable-header-bg); border: 1px solid var(--wikitable-border); } #editcount table[border="1"] td { border: 1px solid var(--wikitable-border); } #editcount table[border="1"] tr:nth-child(odd) { background-color: var(--body-light); } .mw-echo-ui-notificationBadgeButtonPopupWidget-popup > .oo-ui-popupWidget-popup .mw-echo-ui-placeholderItemWidget { background-color: inherit; } table.mw-interwikitable.body td.mw-interwikitable-local-yes { background-color: var(--table-yes-background); color: var(--table-yes-color); } .mw-protectedpages-unknown { color: var(--byline-color); } .watchlistredir, .allpagesredirect { font-style: italic; } .allpagesredirect:after { color: var(--byline-color); content: " (redirect)"; } .mw-apisandbox-toolbar { background: var(--body-main); } .oo-ui-menuOptionWidget .mw-apisandbox-flag { color: var(--byline-color); } tr.mw-abusefilter-list-disabled, tr.mw-abusefilter-list-disabled td { color: var(--byline-color); } table.mw-abuselog-details { background: var(--wikitable-bg); border-color: var(--wikitable-border); } table.mw-abuselog-details th { background: var(--wikitable-header-bg); } table.mw-abuselog-details th, table.mw-abuselog-details td { border-color: var(--wikitable-border); } .mw-abusefilter-log-hidden-entry { color: var(--subtle-color); } body td.mw-abusefilter-history-changed { background: var(--table-no-background); } div.mw-abusefilter-editor, #mw-abusefilter-warn-preview, #mw-abusefilter-disallow-preview { border-color: var(--ooui-input-border); } .mw-destfile-warning { border-color: var(--warningbox-border); color: var(--text-color); background-color: var(--warningbox-bg); } span.fileinput-button { background-color: var(--ooui-normal); border-color: var(--ooui-normal-border); color: var(--ooui-text); } ul.fileupload-results li.ful-success { background-color: var(--successbox-bg); } ul.fileupload-results li.ful-success a { color: var(--link-color); } ul.fileupload-results li.ful-error { background-color: var(--errorbox-bg); } .color-container { display: flex; margin: 2em auto; width: 80%; max-width: 60em; } .color-column { flex: 1; margin-right: 1em; } .color-column:last-child { margin-right: 0; } .color-column h3 { padding: 0; } .color-group { color: #333; padding: 1em 1.5em; transition: 0.2s ease-out; } .color-group:hover { transform: scale(1.03); } .color-group.dark { color: #fff; } .color-group .variable, .color-group .hexcode { font-family: monospace; font-size: 1.1em; -webkit-user-select: all; -moz-user-select: all; -ms-user-select: all; user-select: all; margin: 0; } body.wgl-readermode .color-group .variable, body.wgl-readermode .color-group .hexcode { font-size: inherit; } .color-group .variable { font-weight: bold; } #t-print, #t-permalink { display: none; } #filetoc { border-radius: 2px; background: var(--body-mid); border-color: transparent; margin: 0.5em auto; text-align: center; box-shadow: 0 0.25rem 0.35rem -0.25rem rgba(0, 0, 0, 0.1); } li.gallerybox div.thumb { border: none; background-color: var(--thumb-bg); } .smwfact { display: none; } .list-header { background-color: var(--body-mid); color: inherit; } .editOptions { color: var(--text-color); background-color: var(--sourceeditor-background-secondary); border-color: var(--sourceeditor-border); } .mw-json th, .mw-json td { border-color: var(--wikitable-border); } .mw-json td { background: var(--wikitable-bg); } .mw-json th { background: var(--wikitable-header-bg); } 7d8f1fd65678c81a1966a8153eaacd9c04e1f5ab Professions 0 56 2307 2056 2024-04-11T20:36:52Z Merds 25 /* List of professions */ wikitext text/x-wiki '''Professions''' are skills that [[player]]s can train and utilise in [[Brighter Shores]]. Most professions can either be trained by the player actively playing the game, or passively while the game is closed. As the player progresses through the game, more professions will become available for the player to learn. Players aren't limited to one profession at a time; they can utilise multiple at once.{{CiteGeneral|url=https://www.gamesradar.com/runescape-creator-answers-our-biggest-questions-about-his-new-mmo-brighter-shores-classes-professions-monetization-and-a-ttrpg-open-world/|title=RuneScape creator answers our biggest questions about his new MMO Brighter Shores: classes, professions, monetization, and a TTRPG open world|author=Austin Wood|date=23 March 2024|accessdate=23 March 2024|archiveurl=https://archive.is/AxMwI|archivedate=23 March 2024|name=griv}} ==Passive training== Unlike other similar MMOs, players can continue to perform certain profession-related activities while logged out of the game. Activities eligible for passive training are marked with a moon icon [[File:Passive activity icon.png|18px]]. ==List of professions== {| class="wikitable align-center-1" ! colspan="2" | Name !! Uses |- | [[File:Profession fisher.png|x30px|link=Fisher]] || [[Fisher]] || Catching various [[fish]] |- | [[File:Profession forager.png|x30px|link=Forager]] || [[Forager]] || Gathering items |- | || [[Chef]] || Cooking [[food]] items |- | [[File:Woodcutter icon.png|x30px|link=Woodcutter]] || [[Woodcutter]] || Chopping down [[tree]]s |- | || [[Miner]] || Mining [[mineral]]s |- | [[File:Profession alchemist.png|x30px|link=Alchemist]] || [[Alchemist]] || Brewing [[potion]]s |- | || [[Stonemason]] || |- | || [[Merchant]] || |- | || [[Blacksmith]] || |} ==Gallery== <gallery mode="packed" heights="160"> File:Professions preview 1.jpg|Fisher, Forager, Chef File:Professions preview 2.jpg|Woodcutter, Miner, Alchemist File:Professions preview 3.jpg|Stonemason, Merchant, Blacksmith </gallery> ==References== {{Reflist}} {{Professions}} {{Mechanics}} 2ce2db343635e1951b47655d9ba8ec7493fd7687 MediaWiki:Common.less/interface.less 8 16 2308 1663 2024-04-11T22:42:47Z Merds 25 less less /* ===================== Common MediaWiki elements inside .mw-body ===================== */ :root { --errorbox-bg: @bridesmaid; --errorbox-border: @flamingo; --warningbox-bg: @half-dutch; --warningbox-border: @supernova; --successbox-bg: @frost; --successbox-border: @lima; } // core mw messagebox .mw-message-box-error, .errorbox, .mw-message-box-warning, .warningbox, .mw-message-box-success, .successbox, // anon talk page message alert .usermessage { box-shadow: @box-shadow; } .mw-message-box-error, .errorbox { background-color: var(--errorbox-bg); border-color: var(--errorbox-border); } .mw-message-box-warning, .warningbox, .usermessage { background-color: var(--warningbox-bg); border-color: var(--warningbox-border); } .mw-message-box-success, .successbox { background-color: var(--successbox-bg); border-color: var(--successbox-border); } .catlinks { background: var(--body-light); border: 1px solid var(--body-dark); padding: 8px 15px; box-shadow: @box-shadow; li { border-color: var(--body-mid); } } // checkered background in file pages .filehistory a img, #file img { background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0 0h8v16h8V8H0z' opacity='.13'/%3E%3C/svg%3E") repeat; } #file img:hover { background: none; } // Prevents undesired background showing when next to expanded toc .mw-highlight { background: none; .linenos { background-color: var(--mw-code-background-color); // line number color: var(--body-border); } // line number hover a:hover .linenos, .hll a .linenos { color: var(--body-dark); } } .mw-content-ltr.mw-highlight-lines pre, .mw-content-ltr.content .mw-highlight-lines pre { box-shadow: inset 2.75em 0 0 var(--mw-code-background-color); } // page history #pagehistory { ul { list-style: none; margin: 0; } li { border: 1px solid transparent; padding: 1px 10px; margin: 2px 0; &.selected { background-color: var(--body-light); color: inherit; border: 1px dashed var(--body-border); outline: none; } } } // Sticky compare rev #mw-history-compare > div:first-of-type { position: -webkit-sticky; position: sticky; top: 0; background-color: var(--body-main); border-bottom: 1px solid @BODY_DARK; padding: .25em 0; .wgl-stickyheader & { top: 2.5rem; // = height of stickyheader } } // auto section edit summaries .autocomment, .autocomment a, .autocomment a:visited { color: var(--link-color); } // revdeleted logs: "(log details removed)" li span.deleted, span.history-deleted { color: var(--byline-color); } // redlinked contribs page for users without edits .mw-usertoollinks-contribs-no-edits, .mw-usertoollinks-contribs-no-edits:visited { color: var(--redlink-color); } .CategoryTreeToggle { color: var(--link-color); } /* -------------------------------------- fix section heading being hidden underneath sticky header -------------------------------------- */ // technique from <https://css-tricks.com/hash-tag-links-padding/> body.wgl-stickyheader.action-view .mw-headline:target::before { display: block; content: ''; margin-top: -3rem; height: 3rem; visibility: hidden; pointer-events: none; } /* ------------------------ MultimediaViewer ------------------------*/ // main lightbox .mw-mmv-post-image { color: var(--text-color); background-color: var(--body-main); } // metadata panel .mw-mmv-image-metadata { border-top-color: var(--body-mid); background-color: var(--body-light); } // download box and etc .mw-mmv-dialog, .mw-mmv-dialog .mw-mmv-dialog-down-arrow, .mw-mmv-options-dialog .mw-mmv-dialog-down-arrow { background-color: var(--body-light); box-shadow: none; } // activation box header .mw-mmv-options-enable-alert { background-color: var(--body-light); color: var(--text-color); } // use consistent text color for all for simplicity .mw-mmv-options-dialog-header, .mw-mmv-options-text-header, .mw-mmv-options-text-body, // activation box .mw-mmv-options-enable-alert, // deactivation box .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-dialog-header, .mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text-header { color: var(--text-color); } /* ------------------------ RevisionSlider ------------------------*/ .mw-revslider-container { border-color: var(--sidebar); } .mw-revslider-slider-wrapper { border-top-color: var(--sidebar); } /* ------------------------ mediawiki.ui ------------------------*/ .mw-ui { &-button { background-color: var(--ooui-normal); color: var(--ooui-text); border-color: var(--ooui-normal-border); &:not(:disabled) { &:hover, &:active { background-color: var(--ooui-normal--hover); color: var(--ooui-text); border-color: var(--ooui-normal-border); } &:focus { color: var(--ooui-text); border-color: var(--ooui-accent); box-shadow: inset 0 0 0 1px var(--ooui-accent),inset 0 0 0 2px #fff; } // there's an override for it &:visited { color: var(--ooui-text); } } &.mw-ui-progressive { &:not(:disabled) { background-color: var(--ooui-progressive); color: #fff; border-color: var(--ooui-progressive); &:hover { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); } &:focus { box-shadow: inset 0 0 0 1px var(--ooui-accent),inset 0 0 0 2px #fff; } &:active, &.is-on { background-color: var(--ooui-progressive--hover); border-color: var(--ooui-progressive--hover); box-shadow: none; } } } } // a lot of these need to be redefined since they have the same specificity // as the above &-button&-destructive:not( :disabled ) { color: #fff; } &-button&-quiet, &-button&-quiet&-progressive, &-button&-quiet&-destructive { // background-color: transparent; color: var(--text-color); } input[type='checkbox']:hover + &-button&-quiet, input[type='checkbox']:hover + &-button&-quiet&-progressive, input[type='checkbox']:hover + &-button&-quiet&-destructive, &-button&-quiet:hover, &-button&-quiet&-progressive:hover, &-button&-quiet&-destructive:hover { background-color: rgba(0,24,73,0.02745098); color: var(--text-color); border-color: transparent } input[type='checkbox']:focus + &-button&-quiet, input[type='checkbox']:focus + &-button&-quiet&-progressive, input[type='checkbox']:focus + &-button&-quiet&-destructive, &-button&-quiet:focus, &-button&-quiet&-progressive:focus, &-button&-quiet&-destructive:focus { color: var(--text-color); // border-color: #36c; // box-shadow: inset 0 0 0 1px #36c,inset 0 0 0 2px #fff } input[type='checkbox']:active + &-button&-quiet, input[type='checkbox']:active + &-button&-quiet&-progressive, input[type='checkbox']:active + &-button&-quiet&-destructive, &-button&-quiet:active, &-button&-quiet&-progressive:active, &-button&-quiet&-destructive:active { background-color: rgba(0,36,73,0.08235294); color: var(--text-color); border-color: #72777d; // box-shadow: none } &-input { background-color: var(--ooui-input); color: var(--text-color); border-color: var(--ooui-input-border); &:hover { border-color: var(--ooui-input-border--hover); } &::placeholder { color: var(--byline-color); } } } /* ------------------------ Redirects ------------------------*/ // convert to mask .mw-content-ltr .redirectText li { &:first-child { padding: 0; background: 0; &::before { content:''; background: currentcolor; .mask("filepath://Redirect-arrow.svg"); display: inline-block; width: 47px; height: 20px; } } } /* ------------------------------------------------------------- HEADER bits because I'm not sure where I can put this ------------------------------------------------------------ */ /* Search bar */ .vector-search-box-inner { background: var(--body-main) !important; box-shadow: inset 0 -7px 7px -7px rgba(0,0,0,0.15) !important; } /* "More" button */ .vector-menu-dropdown { .vector-menu-heading { color: var(--vector-tab-link-color) !important; &:hover { color: var(--vector-tab-link-color) !important; } &:focus { color: var(--vector-tab-link-color) !important; } } } /* Sidebar */ .vector-menu-portal { .vector-menu-heading { color: var(--background-text-color) !important; font-weight: bold !important; background: none !important; } .vector-menu-content { li { a, a:visited { color: var(--background-link-color) !important; } } } } fd8bbfc11f58a6a0da6c50865a3ded2cfbf34ff6 The Delectable Dab Restaurant 0 89 2310 904 2024-04-11T23:56:26Z Yellowsap 63 wikitext text/x-wiki {{Infobox Shop |name = The Delectable Dab Restaurant |image = [[File:The Deletectable Dab Restaurant.jpg|280px]] |release = |premium = |episode = |owner = }} '''The Deletectable Dab Restaurant''' is a restaurant. cf39847e86a163859e75c55dab9aab7bf9cfd5bc User:Merds 2 531 2311 903 2024-04-12T09:09:26Z Merds 25 wikitext text/x-wiki == '''Subpages''' == <dpl> namespace = User titleregexp = Merds\/ order = ascending ordermethod = sortkey </dpl> c379b70b5569a589b6b55641abb3585f5cff22ef File:Yellowtail gurnard.png 6 988 2312 2024-04-12T11:01:40Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2313 2312 2024-04-12T11:04:22Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1769048510177948004}} 6f5ca0034357c95ba9ae599fe98e554b5597558d Yellowtail Gurnard 0 449 2314 2121 2024-04-12T11:05:09Z Yellowsap 63 wikitext text/x-wiki {{Infobox Interactable |name = Yellowtail Gurnard |image = [[File:Yellowtail gurnard.png]] |release = |premium = |episode = |profession = [[Fisher]] |level = 14 |variant = [[Gurnard]] |passive = No }} '''Yellowtail Gurnards''' are a type of [[fish]] and a [[variant]] of [[Gurnard]]s found in the [[Pirate Hideout]].{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024|quote=}} ==References== {{Reflist}} 5359084ae514f0ae8f8a4d4c8dac2a3191148f3e MediaWiki:Gadget-editCount.js 8 344 2315 571 2024-04-12T11:45:04Z Habblet 11 fix edit count element selector javascript text/javascript /** * Adds total edit count on User, User talk and Contributions as a PortletLink * @author Jr_Mime */ (function ($, mw, bs) { $( document ).ready(function() { if (mw.config.get('wgNamespaceNumber') === 2 || mw.config.get('wgNamespaceNumber') === 3 || mw.config.get("wgCanonicalSpecialPageName") == "Contributions") { var user = mw.config.get('wgRelevantUserName'); mw.util.addPortletLink( 'p-namespaces', mw.util.getUrl('Special:EditCount/' + user), '.. edits', 'ca-nstab-editcount', 'Click to open the user\'s full editcount' ); $.post("/w/Special:EditCount/" + user).done(function (data) { var edits_total_element = $(data).find("#editcount > table > tbody > tr:nth-child(2) > td:nth-child(2) > table > tbody > tr:last-child > td:nth-child(2)"); if (!edits_total_element.length) { $("#ca-nstab-editcount").css("display","none"); return; } else { $("#ca-nstab-editcount > a").text(edits_total_element.text() + ' edits') } }); } }); })(jQuery, mediaWiki, bswiki); c86f1a0836764bcf7f1919327e767d56bc411b2e MediaWiki:Editcount-before 8 989 2316 2024-04-12T11:49:50Z Merds 25 Created blank page wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Spells 0 990 2317 2024-04-13T22:43:27Z Yellowsap 63 Created page with "'''Spells''' are abilities that [[player]]s can learn.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|quote=Once you learn the sense spell you can highlight everything interactive nearby.|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024}} ==List of Spells== *[[Sense]] ==References== {{Reflist}} [[Category:Spells]]" wikitext text/x-wiki '''Spells''' are abilities that [[player]]s can learn.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|quote=Once you learn the sense spell you can highlight everything interactive nearby.|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024}} ==List of Spells== *[[Sense]] ==References== {{Reflist}} [[Category:Spells]] 54c1e36ac5c4a19693a93f3b81c738619fd67836 2319 2317 2024-04-13T23:34:14Z Merds 25 Merds moved page [[Spell]] to [[Spells]]: S wikitext text/x-wiki '''Spells''' are abilities that [[player]]s can learn.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|quote=Once you learn the sense spell you can highlight everything interactive nearby.|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024}} ==List of Spells== *[[Sense]] ==References== {{Reflist}} [[Category:Spells]] 54c1e36ac5c4a19693a93f3b81c738619fd67836 2349 2319 2024-04-20T08:15:30Z Tony MP 66 /* List of Spells */ wikitext text/x-wiki '''Spells''' are abilities that [[player]]s can learn.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|quote=Once you learn the sense spell you can highlight everything interactive nearby.|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024}} ==List of Spells== *[[Sense]] *Arborae ==References== {{Reflist}} [[Category:Spells]] 0433ac0fd7016284ea71c8a38d7df7858fc876a6 2353 2349 2024-04-20T08:26:51Z Tony MP 66 /* List of Spells */ wikitext text/x-wiki '''Spells''' are abilities that [[player]]s can learn.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|quote=Once you learn the sense spell you can highlight everything interactive nearby.|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024}} ==List of Spells== *[[Sense]] *[[Arborae]] ==References== {{Reflist}} [[Category:Spells]] b8eecd540cc1d201d741786fda1e60836b555b0d Category:Spells 14 991 2318 2024-04-13T23:13:56Z Yellowsap 63 Created page with "{{Categoryheader|pages|[[Spell]]}} [[Category:Content]]" wikitext text/x-wiki {{Categoryheader|pages|[[Spell]]}} [[Category:Content]] 79f38c97cee85c806e4956eaf4902c14c3d22a99 2321 2318 2024-04-14T09:14:41Z Yellowsap 63 wikitext text/x-wiki {{Categoryheader|pages|[[Spells]]}} [[Category:Content]] bb93240a2b1d0f987319b1e1afcd3a281e0727c6 Spell 0 992 2320 2024-04-13T23:34:14Z Merds 25 Merds moved page [[Spell]] to [[Spells]]: S wikitext text/x-wiki #REDIRECT [[Spells]] c8a27f1503c11fd3baeba6cfa38d407183f64eb5 File:Profession alchemist.png 6 736 2322 1368 2024-04-19T17:57:39Z Yellowsap 63 Yellowsap uploaded a new version of [[File:Profession alchemist.png]] wikitext text/x-wiki == Summary == Derivative from https://brightershores.com/screenshots/09_himatik_ruins.jpg. [[Category:Profession icons]] a065329f7d726072a0e3f5135ca44e6be4fac44e 2323 2322 2024-04-19T17:59:07Z Yellowsap 63 wikitext text/x-wiki == Summary == Derivative from https://twitter.com/PaulJGower/status/1781334642265559394. [[Category:Profession icons]] 8b88266c6f30dfc60b1745755510fb886de9ce26 Strength Cryonae 0 647 2324 1777 2024-04-19T18:13:53Z Yellowsap 63 Yellowsap moved page [[Cryoknight potion]] to [[Strength Cryonae]]: Named here https://twitter.com/PaulJGower/status/1781334642265559394/photo/1. wikitext text/x-wiki {{Unofficial name}} {{Infobox Item |name = Cryoknight potion |image = [[File:Cryoknight potion.png]] |release = |profession = Alchemist |value = }} '''Cryoknight potions''' are a type of [[potion]].<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref> ==References== {{Reflist}} [[Category:Potions]] 0de592332e9c06012b419205b3a45963046089e2 2332 2324 2024-04-19T18:50:20Z Yellowsap 63 wikitext text/x-wiki {{Infobox Item |name = Strength Cryonae |image = [[File:Cryoknight potion.png]] |release = Q3 [[2024]] |episode = Hopeport |profession = Alchemist |value = }} '''Strength Cryonae''' is a type of [[potion]].<ref>https://brightershores.com/screenshots/03_shade_combat.jpg</ref> ==Creation== {| class="wikitable" ! colspan="2" | Reagents |- | [[File:Wrinkled starfish.png|30px|link=Wrinkled Starfish]] || [[Wrinkled Starfish]] |} ==References== {{Reflist}} [[Category:Potions]] b517a5bb42f98003dc35af968085572637e676dc Cryoknight potion 0 993 2325 2024-04-19T18:13:53Z Yellowsap 63 Yellowsap moved page [[Cryoknight potion]] to [[Strength Cryonae]]: Named here https://twitter.com/PaulJGower/status/1781334642265559394/photo/1. wikitext text/x-wiki #REDIRECT [[Strength Cryonae]] d08adedee8a9c6282832f890a2e4d283f6f54f30 Strength Arborae 0 862 2326 1966 2024-04-19T18:14:33Z Yellowsap 63 Yellowsap moved page [[Arborae potion]] to [[Strength Arborae]] wikitext text/x-wiki {{Infobox Item |name = Arborae potion |image = [[File:Arborae potion.png]] |premium = |release = Q3 [[2024]] |episode = |profession = [[Alchemist]] |value = }} The '''Arborae potion''' is a type of [[potion]].{{CiteTrailer|timestamp=0:19}} ==References== {{Reflist}} [[Category:Potions]] 08f8fb3d89f1bce58d860c4a2c023e3aa905f952 2333 2326 2024-04-19T18:51:06Z Yellowsap 63 wikitext text/x-wiki {{Infobox Item |name = Strength Arborae |image = [[File:Arborae potion.png]] |premium = |release = Q3 [[2024]] |episode = |profession = [[Alchemist]] |value = }} '''Strength Arborae''' is a type of [[potion]].{{CiteTrailer|timestamp=0:19}} ==References== {{Reflist}} [[Category:Potions]] abc49e2b24d003c617354e5258a4ad0e381ecb35 Arborae potion 0 994 2327 2024-04-19T18:14:33Z Yellowsap 63 Yellowsap moved page [[Arborae potion]] to [[Strength Arborae]] wikitext text/x-wiki #REDIRECT [[Strength Arborae]] 59776dec5961cb1c608060304be9d1bafb0b96e7 Potion 0 298 2328 1962 2024-04-19T18:27:32Z Yellowsap 63 wikitext text/x-wiki '''Potions''' are consumables that may be brewed through the [[Alchemist]] [[profession]]. The reagents to brew a potion are stored in the [[Potion Reagents Bank]]. ==List of potions== {| class="wikitable" ! colspan="2" | Potions |- | [[File:Hammermage potion.png|30px|link=Hammermage potion]] || [[Hammermage potion]] |- | [[File:Health potion.png|30px|link=Health potion]] || [[Health potion]] |- | [[File:Merchant potion.png|30px|link=Merchant potion]] || [[Merchant potion]] |- | [[File:Miner potion.png|30px|link=Miner potion]] || [[Miner potion]] |- | [[File:Arborae potion.png|30px|link=Strength Arborae]] || [[Strength Arborae]] |- | [[File:Cryoknight potion.png|30px|link=Strength Cryonae]] || [[Strength Cryonae]] |} 268c7bfbe581d49d15bd800a80e1764330eaee65 File:Wrinkled starfish.png 6 995 2329 2024-04-19T18:45:25Z Yellowsap 63 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 2330 2329 2024-04-19T18:48:37Z Yellowsap 63 wikitext text/x-wiki {{Fair use|link=https://twitter.com/AndrewCGower/status/1769048510177948004}} 6f5ca0034357c95ba9ae599fe98e554b5597558d 2331 2330 2024-04-19T18:49:03Z Yellowsap 63 Correcting link. wikitext text/x-wiki {{Fair use|link=https://twitter.com/PaulJGower/status/1781334642265559394}} a82b58219cdc5d7a81b5be3d09a6d56e15257d85 Wrinkled Starfish 0 911 2334 2132 2024-04-19T20:13:15Z ToofleBerry 6 wikitext text/x-wiki {{Infobox Item |name = Strength Cryonae |image = [[File:Wrinkled starfish.png]] |release = Q3 [[2024]] |episode = Hopeport |profession = Alchemist |value = 380 }} '''Wrinkled Starfish''' can be obtained from [[Wrinkled Starfish (Interactible)]] and is a regent for [[Strength Cryonae]]. ==References== {{Reflist}} 3cb60d431ea7adecdbd2196cba3854e4d2c4972a 2336 2334 2024-04-19T20:13:46Z ToofleBerry 6 wikitext text/x-wiki {{Infobox Item |name = Wrinkled Starfish |image = [[File:Wrinkled starfish.png]] |release = Q3 [[2024]] |episode = Hopeport |profession = Alchemist |value = 380 }} '''Wrinkled Starfish''' can be obtained from [[Wrinkled Starfish (Interactible)]] and is a regent for [[Strength Cryonae]]. ==References== {{Reflist}} 2894d5007d879563ab0122c9ddd5daaeb6f57d9f Wrinkled Starfish (Interactible) 0 996 2335 2024-04-19T20:13:19Z ToofleBerry 6 Created page with "{{Infobox Interactable |name = Wrinkled Starfish |image = |release = |premium = |episode = |profession = [[Forager]] |level = 18 |variant = [[Starfish]] |passive = No }} '''Wrinkled Starfish''' are a type of [[Forager]] interactable that can be found on the [[Jellyfish Landing]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/..." wikitext text/x-wiki {{Infobox Interactable |name = Wrinkled Starfish |image = |release = |premium = |episode = |profession = [[Forager]] |level = 18 |variant = [[Starfish]] |passive = No }} '''Wrinkled Starfish''' are a type of [[Forager]] interactable that can be found on the [[Jellyfish Landing]].{{CiteTwitter|author=@AndrewCGower|url=https://twitter.com/andrewcgower/status/1776276857706479810|date=5 April 2024|archiveurl=https://web.archive.org/web/20240406173123/https://twitter.com/andrewcgower/status/1776276857706479810|archivedate=6 April 2024|quote=store.steampowered.com/app/2791440/Brighter_Shores/ Quite a few people have been asking how the 'rooms' in Brighter Shores connect together, so I have a made a quick video of me running across a small section of Hopeport. You can see how easily you can move between rooms, and how the 'rooms' connect together to form a much larger world.|notes=Timestamp in the video: 0:56 / 1:41.|name=|group=}} ==References== {{Reflist}} 3a952c43b7460f322d6693623fc598744cb9768b File:Crashed Cart.png 6 997 2337 2024-04-20T07:55:41Z Tony MP 66 wikitext text/x-wiki A crashed cart 22eb8b57f9dda9b70f3f4524a214fe7ff1de3d05 Crashed Cart 0 998 2338 2024-04-20T07:59:26Z Tony MP 66 Created page with " == Crashed Cart == '''Crashed Carts''' can be found around [[Hopeport (location)|Hopeport]]. {{Infobox Item |name = Crashed Cart |image = [[File:Crashed_Cart.png]] |release = Q3 2024 |premium = No }}" wikitext text/x-wiki == Crashed Cart == '''Crashed Carts''' can be found around [[Hopeport (location)|Hopeport]]. {{Infobox Item |name = Crashed Cart |image = [[File:Crashed_Cart.png]] |release = Q3 2024 |premium = No }} 17264d9252e0fe7067458835364f2e42598347b7 2339 2338 2024-04-20T08:00:13Z Tony MP 66 /* Crashed Cart */ wikitext text/x-wiki == Crashed Cart == '''Crashed Carts''' can be found around [[Hopeport (location)|Hopeport]]. {{Infobox Item |name = Crashed Cart |image = [[File:Crashed_Cart.png]] |release = Q3 2024 |premium = No |Examine=I hope they were insured.}} dcaf4a9257dd412f2ca5e1a9024f32298fe0e98b 2340 2339 2024-04-20T08:02:20Z Tony MP 66 /* Crashed Cart */ wikitext text/x-wiki == Crashed Cart == '''Crashed Carts''' can be found around [[Hopeport (location)|Hopeport]]. {{Infobox Item |name = Crashed Cart |image = [[File:Crashed_Cart.png]] |release = Q3 2024 |Examine=I hope they were insured.|Premium=No}} 2bc6a0bfcb0135f71529c0c5ccc15b828a41d955 2341 2340 2024-04-20T08:02:36Z Tony MP 66 wikitext text/x-wiki == Crashed Cart == '''Crashed Carts''' can be found around [[Hopeport (location)|Hopeport]]. {{Infobox Item |name = Crashed Cart |image = [[File:Crashed_Cart.png]] |release = Q3 2024 |Examine=I hope they were insured.| Premium=No}} 77e68922c5422846c043b3e596fcd520eb9c576a 2342 2341 2024-04-20T08:03:16Z Tony MP 66 /* Crashed Cart */ wikitext text/x-wiki == Crashed Cart == '''Crashed Carts''' can be found around [[Hopeport (location)|Hopeport]]. {{Infobox Item |name = Crashed Cart |image = [[File:Crashed_Cart.png]] |release = Q3 2024 |Examine= I hope they were insured. |Premium= No}} df32fe22d2ab5d3908265b52850235d68c69bc31 2343 2342 2024-04-20T08:07:34Z Tony MP 66 /* Crashed Cart */ wikitext text/x-wiki == Crashed Cart == '''Crashed Carts''' can be found around [[Hopeport (location)|Hopeport]]. {{Infobox Item |name = Crashed Cart |image = [[File:Crashed_Cart.png]] |release = Q3 2024 |premium = No |episode = |Examine = "I hope they were insured." |value = }} 6c313e7a7a36312153080e71d6152ed1f1d2dc54 2344 2343 2024-04-20T08:08:21Z Tony MP 66 wikitext text/x-wiki == Crashed Cart == '''Crashed Carts''' can be found around [[Hopeport (location)|Hopeport]]. {{Infobox Item |name = Crashed Cart |image = [[File:Crashed_Cart.png]] |release = Q3 2024 |premium = No |episode = |Examine = "I hope they were insured." }} 051da772b852b94265fb6180f57f153377684a28 2354 2344 2024-04-20T10:23:44Z Yellowsap 63 wikitext text/x-wiki {{Infobox Item |name = Crashed Cart |image = [[File:Crashed_Cart.png]] |release = Q3 2024 |premium = No |episode = |Examine = "I hope they were insured." }} '''Crashed Carts''' may be found around [[Hopeport (location)|Hopeport]]. b8415c5ee1c398da48c5682bf69d9511a71d1395 File:Freshmat Moss Monster.png 6 999 2345 2024-04-20T08:11:23Z Tony MP 66 wikitext text/x-wiki Image of a Freshmat 2490eb8479505e44e9897bddbc470e53d0de52e8 Freshmat Moss Monster 0 1000 2346 2024-04-20T08:13:37Z Tony MP 66 Created page with "== Freshmat == '''Freshmat''' can be found at *Location needed*. Freshmats are a type of Moss Monster. They are immune to the Arborate spell. {{Infobox Item |name = Freshmat |image = [[File:Freshmat.png]] |release = Q3 2024 |premium = No |episode = |Examine = "Animal, vegetable, and mineral all at once." }}" wikitext text/x-wiki == Freshmat == '''Freshmat''' can be found at *Location needed*. Freshmats are a type of Moss Monster. They are immune to the Arborate spell. {{Infobox Item |name = Freshmat |image = [[File:Freshmat.png]] |release = Q3 2024 |premium = No |episode = |Examine = "Animal, vegetable, and mineral all at once." }} 5753081e2e181ad7204837ad9da3706b4d37865e 2347 2346 2024-04-20T08:14:15Z Tony MP 66 wikitext text/x-wiki == Freshmat == '''Freshmat''' can be found at *Location needed*. Freshmats are a type of Moss Monster. They are immune to the Arborate spell. {{Infobox Item |name = Freshmat |image = [[File:Freshmat.png]] |release = Q3 2024 |premium = No |episode = |level = 30 |Examine = "Animal, vegetable, and mineral all at once." }} 2800573f3b3ae29ddbf70ab1f3613bfd453cb4b6 2348 2347 2024-04-20T08:14:45Z Tony MP 66 /* Freshmat */ wikitext text/x-wiki == Freshmat == '''Freshmat''' can be found at *Location needed*. Freshmats are a type of Moss Monster. They are immune to the Arborae spell. {{Infobox Item |name = Freshmat |image = [[File:Freshmat.png]] |release = Q3 2024 |premium = No |episode = |level = 30 |Examine = "Animal, vegetable, and mineral all at once." }} 6ffab9ba2c942346b734710673160dd76724f33f Arborae 0 1001 2350 2024-04-20T08:19:02Z Tony MP 66 Created page with "== Arborae == '''Arborae''' is a spell that [[players]] can use. Certain monsters, such as [[Freshmat|Freshmats]], are immune to Arborae." wikitext text/x-wiki == Arborae == '''Arborae''' is a spell that [[players]] can use. Certain monsters, such as [[Freshmat|Freshmats]], are immune to Arborae. 18a25d0e35ff798821b6a72b7a736fdc92562116 File:Robyn Nockright.png 6 1002 2351 2024-04-20T08:25:10Z Tony MP 66 wikitext text/x-wiki An image of Robyn Nockright d75f98eb1d44a91c7ece5e7af2ef07471c7019ae Robyn nockright 0 1003 2352 2024-04-20T08:25:40Z Tony MP 66 Created page with "== Robyn Nockright == '''Robyn Nockright''' is an NPC who uses her sharpshooting to protect Hopeport. {{Infobox NPC |name = Robyn Nockright |image = [[File:Robyn_Nockright.png]] |release = Q3 2024 |episode = |profession = Ranger |shop = Unknown }}" wikitext text/x-wiki == Robyn Nockright == '''Robyn Nockright''' is an NPC who uses her sharpshooting to protect Hopeport. {{Infobox NPC |name = Robyn Nockright |image = [[File:Robyn_Nockright.png]] |release = Q3 2024 |episode = |profession = Ranger |shop = Unknown }} 8418d95c70e73b3f1ab2fe4aa44aa0b8e44de96f Freshmat Moss Monster 0 1000 2355 2348 2024-04-20T10:25:17Z Yellowsap 63 Yellowsap moved page [[Freshmat]] to [[Freshmat Moss Monster]] wikitext text/x-wiki == Freshmat == '''Freshmat''' can be found at *Location needed*. Freshmats are a type of Moss Monster. They are immune to the Arborae spell. {{Infobox Item |name = Freshmat |image = [[File:Freshmat.png]] |release = Q3 2024 |premium = No |episode = |level = 30 |Examine = "Animal, vegetable, and mineral all at once." }} 6ffab9ba2c942346b734710673160dd76724f33f 2357 2355 2024-04-20T10:30:31Z Yellowsap 63 wikitext text/x-wiki {{Infobox Monster |name = Freshmat |image = [[File:Freshmat.png]] |release = |premium = |episode = |level = 30 |hp = 152 |variant = [[Moss Monster]] |Examine = "Animal, vegetable, and mineral all at once." |passive = No }} '''Freshmat Moss Monster''' is a [[monster]]. They are immune to [[Damage|Arborae damage]]. e3bc2775ce51e5e855ba0d083ddd804413bf3f1c 2367 2357 2024-04-20T18:56:36Z Yellowsap 63 wikitext text/x-wiki {{Infobox Monster |name = Freshmat |image = [[File:Freshmat Moss Monster.png]] |release = |premium = |episode = |level = 30 |hp = 152 |variant = [[Moss Monster]] |Examine = "Animal, vegetable, and mineral all at once." |passive = No }} '''Freshmat Moss Monster''' is a [[monster]]. They are immune to [[Damage|Arborae damage]]. f37615376bddb79fb3a54dd95082e71950f8cb93 Freshmat 0 1004 2356 2024-04-20T10:25:17Z Yellowsap 63 Yellowsap moved page [[Freshmat]] to [[Freshmat Moss Monster]] wikitext text/x-wiki #REDIRECT [[Freshmat Moss Monster]] 3e99c4c5536c1e1c97f3ead74bd94ed49a7ee4db Monsters 0 377 2358 2069 2024-04-20T10:31:01Z Yellowsap 63 wikitext text/x-wiki '''Monsters''' are creatures in [[Brighter Shores]] that can be attacked. They are fought in [[combat]] for their loot, including valuable currency items. There are many monsters in Brighter Shores, including: * [[Firetoad]] * [[Mawchest]] * [[Punkupine]] * [[Slime Fiend]] * [[Sneaky Thief]] * [[Wailing Shade]] ==Categories== * [[Carnivorous Plant]] * [[Crab]] * [[Giant Ant]] * [[Jellyfish]] * [[Moss Monster]] * [[Pirate]] {{Mechanics}} 23b7d7632132a685cacaa4be182862870c3974c9 Moss Monster 0 1005 2359 2024-04-20T10:31:38Z Yellowsap 63 Created page with "{{Interactcategory|name=Moss Monster|type=[[monster]]}} *[[Freshmat Moss Monster]]" wikitext text/x-wiki {{Interactcategory|name=Moss Monster|type=[[monster]]}} *[[Freshmat Moss Monster]] 6e3c937a220ccf8b5fb4de47ef424e77a58ea611 Damage 0 953 2360 2246 2024-04-20T10:32:20Z Yellowsap 63 wikitext text/x-wiki {{Unofficial name}} [[File:Thief combat.jpg|thumb|right|A player taking Cryoknight damage.]] '''Damage''' is what is used to describe a monster's and/or player's attacks from their combat actions. Damage is split into different types and is possibly determined by the player's [[weapon]]. A weapon can also have no damage type. ==List of damage types== {| class="wikitable" ! colspan="2" | Types |- | [[File:Guardian damage icon.png|30px]] || Arborae |- | [[File:Cryoknight damage icon.png|30px]] || Cryonae |- | [[File:Fire damage icon.png|30px]] || Fire |- | [[File:Hammermage damage icon.png|30px]] || Hammermage |- | [[File:Physical damage icon.png|30px]] || Physical |- | [[File:Necrotic damage icon.png|30px]] || Necrotic |} [[Category:Mechanics]] b72b23b3300798489ae486996028f82c1716d4ff Spells 0 990 2361 2353 2024-04-20T10:32:57Z Yellowsap 63 wikitext text/x-wiki '''Spells''' are abilities that [[player]]s can learn.{{CiteTwitter|url=https://twitter.com/AndrewCGower/status/1769048510177948004|author=Andrew Gower|date=16 March 2024|accessdate=22 March 2024|quote=Once you learn the sense spell you can highlight everything interactive nearby.|archiveurl=https://archive.is/whgCd|archivedate=22 March 2024}} ==List of Spells== *[[Sense]] ==References== {{Reflist}} [[Category:Spells]] 54c1e36ac5c4a19693a93f3b81c738619fd67836 Robyn nockright 0 1003 2362 2352 2024-04-20T10:36:58Z Yellowsap 63 wikitext text/x-wiki {{Infobox NPC |name = Robyn Nockright |image = [[File:Robyn_Nockright.png]] |release = Q3 2024 |episode = Hopeport |profession = }} '''Robyn Nockright''' is an NPC. She uses her sharpshooting to protect [[Hopeport (location)|Hopeport]]. c461c2799f312d52f15a55566188a26dc1701266 Crashed Cart 0 998 2363 2354 2024-04-20T18:41:30Z Yellowsap 63 wikitext text/x-wiki {{Infobox Scenery |name = Crashed Cart |image = [[File:Crashed_Cart.png]] |release = |premium = |episode = Hopeforest |Examine = "I hope they were insured." }} '''Crashed Carts''' may be found around [[Hopeforest (location)|Hopeforest]]. 9d4ae14d4c9a543f64e15beba887d32865cf36f3 Module:Infobox Scenery 828 844 2364 1877 2024-04-20T18:43:53Z Yellowsap 63 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Scenery', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, parse.examine, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='Examine', colspan="6"}, {tag='td', content=Infobox.param('examine'), colspan="14"} } :pad(20) return infobox end return p 7f1a67d05e4f943360bbffd7c39266ce456795b6 2365 2364 2024-04-20T18:44:48Z Yellowsap 63 Undo revision [[Special:Diff/2364|2364]] by [[Special:Contributions/Yellowsap|Yellowsap]] ([[User talk:Yellowsap|talk]]) Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Scenery', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :pad(20) return infobox end return p d4287a351c1d8bd479c24137731b006df4be9486 2370 2365 2024-04-20T19:30:51Z Gau Cho 5 Scribunto text/plain local p = {} local Infobox = require('Module:Infobox') local parse = require('Module:Param Parse') function p.main(frame) local args = frame:getParent().args local config = { infobox_name = 'Scenery', } local params = { parse.name, parse.image, parse.release, parse.premium, parse.episode, parse.examine, } local infobox = Infobox.new(config, params, args) infobox :add_row{ {tag='th', content=Infobox.param('name'), class='infobox-header', colspan='20'}, } :add_row{ {tag='td', content=Infobox.param('image'), class='infobox-image', colspan='20'}, } :add_row{ {tag='th', content='Release', colspan="6"}, {tag='td', content=Infobox.param('release'), colspan="14"}, } :add_row{ {tag='th', content='[[Episode]]', colspan="6"}, {tag='td', content=Infobox.param('episode'), colspan="14"}, } :add_row{ {tag='th', content='[[Premium Pass|Premium]]', colspan="6"}, {tag='td', content=Infobox.param('premium'), colspan="14"}, } :add_row{ {tag='th', content='Examine', colspan="6"}, {tag='td', content=Infobox.param('examine'), colspan="14"} } :pad(20) return infobox end return p 7f1a67d05e4f943360bbffd7c39266ce456795b6 File:Freshmat Moss Monster.png 6 999 2366 2345 2024-04-20T18:56:16Z Yellowsap 63 Yellowsap moved page [[File:Freshmat.png]] to [[File:Freshmat Moss Monster.png]] without leaving a redirect: Match page name. wikitext text/x-wiki Image of a Freshmat 2490eb8479505e44e9897bddbc470e53d0de52e8 Module:Param Parse 828 673 2368 2151 2024-04-20T19:29:43Z Gau Cho 5 Examine Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Generic functions -- ----------------------- -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Yes/No local yes_no = { ['Yes'] = 'true', ['No'] = 'false', ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] ~= nil then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end local bool = yes_no[text] if bool ~= nil then return bool end return nil end -- Premade Params -- -------------------- -- Standardized name function parse.name = { name = 'name', func = parse.has_content, smw_property = 'Name', } -- Standardized examine function parse.examine = { name = 'examine', func = parse.has_content, smw_property = 'Examine', } -- Standardized image function function parse.image_func(img) if img and string.match(img, '%[%[File:.*%]%]') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.*%.%w%w%w") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image', } -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode_func(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end parse.episode = { name = 'episode', func = parse.episode_func, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Needs episode', } -- Premium parse.premium = { name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no_smw, category_incomplete = 'Needs premium status', } -- Release (TODO) parse.release = { name = 'release', func = parse.has_content, } -- Profession (TODO) parse.profession = { name = 'profession', func = parse.has_content, category_incomplete = 'Needs profession', smw_property = 'Profession' -- TODO - Need to create property page } parse.variant = { name = 'variant', func = parse.has_content, category_incomplete = 'Needs variant details', smw_property = 'Variant of' -- TODO - Need to create property page } parse.passive = { name = 'passive', func = parse.yes_no, smw_property = 'Passive', smw_func = parse.yes_no_smw, category_incomplete = 'Needs passiveness' } return parse -- </nowiki> 931e0410cdb6ce766296edccb9f8257a5cc9ddd2 2371 2368 2024-04-20T19:34:51Z Gau Cho 5 Add incomplete categories Scribunto text/plain --[=[ -- Standardized functions to parse Infobox params --]=] -- <nowiki> local parse = {} -- Generic functions -- ----------------------- -- Standardized "has content" function function parse.has_content(arg) -- Return arg if any non-whitespace character is found return string.match(arg or '', '%S') and arg or nil end -- Standardized numbers function parse.number(num) num = string.gsub(num or '',',','') return tonumber(num) end -- Yes/No local yes_no = { ['Yes'] = 'true', ['No'] = 'false', ['N/A'] = 'NIL', } function parse.yes_no(text) if yes_no[text] ~= nil then return text end return nil end function parse.yes_no_smw(text) if text == 'N/A' then return nil end local bool = yes_no[text] if bool ~= nil then return bool end return nil end -- Premade Params -- -------------------- -- Standardized name function parse.name = { name = 'name', func = parse.has_content, smw_property = 'Name', category_incomplete = 'Needs name', } -- Standardized examine function parse.examine = { name = 'examine', func = parse.has_content, smw_property = 'Examine', category_incomplete = 'Needs examine', } -- Standardized image function function parse.image_func(img) if img and string.match(img, '%[%[File:.*%]%]') then return img end return nil end function parse.image_smw(img) return img and string.match(img, "File:.*%.%w%w%w") or nil end parse.image = { name = 'image', func = parse.image_func, smw_property = 'Image', smw_func = parse.image_smw, empty = '[[Special:Upload|Please upload an image!]]', category_incomplete = 'Needs image', } -- Episode local valid_episodes = {['Hopeport'] = 1, ['Hopeforest'] = 1, ['Mine of Mantuban'] = 1, ['Crenopolis'] = 1} function parse.episode_func(episode) if valid_episodes[episode] then return '[[File:'..episode..' episode icon.png|18px]] [['..episode..']]' end return nil end function parse.episode_smw(episode) if valid_episodes[episode] then return episode end return nil end parse.episode = { name = 'episode', func = parse.episode_func, smw_property = 'Episode', smw_func = parse.episode_smw, category_incomplete = 'Needs episode', } -- Premium parse.premium = { name = 'premium', func = parse.yes_no, smw_property = 'Premium', smw_func = parse.yes_no_smw, category_incomplete = 'Needs premium status', } -- Release (TODO) parse.release = { name = 'release', func = parse.has_content, } -- Profession (TODO) parse.profession = { name = 'profession', func = parse.has_content, category_incomplete = 'Needs profession', smw_property = 'Profession' -- TODO - Need to create property page } parse.variant = { name = 'variant', func = parse.has_content, category_incomplete = 'Needs variant details', smw_property = 'Variant of' -- TODO - Need to create property page } parse.passive = { name = 'passive', func = parse.yes_no, smw_property = 'Passive', smw_func = parse.yes_no_smw, category_incomplete = 'Needs passiveness' } return parse -- </nowiki> 423bb677bcf735776ec2828e48bd18ee63982e6c Module:Param Parse/doc 828 781 2369 1983 2024-04-20T19:30:30Z Gau Cho 5 wikitext text/x-wiki {{documentation}} These params and functions are used to validate and format information passed into an Infobox. See [[Module:Infobox]] for details and instructions on creating an Infobox. If the information is missing or not valid, the functions here should return nil. Here is a summary of all the params: {| class="wikitable" ! param ! explanation |- | parse.name | Title |- | parse.examine | Examine info |- | parse.image | <nowiki>[[File:IMAGE.png]]</nowiki>. Use the class '''infobox-image''' in the table |- | parse.episode | Episode name |- | parse.premium | Premium (Yes, No, N/A) |- | parse.release | TODO |- | parse.profession | TODO |- | parse.variant | TODO - Which category the subject is a variant of |} Here are some general use functions that can be used for custom or new params: {| class="wikitable" ! function name ! explanation |- | has_content(arg) | Returns arg if any non-whitespace character is found in the string. |- | number(num) | Removes any commas and parses the string as a number |- | yes_no(text) | Only accepts "Yes", "No" and "N/A" |- | yes_no_smw(text) | Maps "Yes", "No" to true and false respectively |} == Creating New Params == Ideally, params should be defined here so that they can be reused between different Infoboxes. Here is how to create a new param: <syntaxhighlight lang="lua"> parse.paramname = { name = <param>, func = <func>, empty = 'empty', -- optional category_never = 'category', -- optional category_partial = 'category', -- optional category_incomplete = 'category', -- optional category_complete = 'category', -- optional smw_property = 'Property', -- optional smw_func = <func>, -- optional } </syntaxhighlight> {| class="wikitable" ! key ! value |- | name | parameter name as used in the Template |- | func | A function in [[Module:Param Parse]] to validate and process the Template argument. You can also use a local function, but this is not recommended. If func is a function, will call func(Infobox.raw_param(name)): <syntaxhighlight lang="lua"> {name = <param>, func = <func>, ... }, </syntaxhighlight> If func is a table, it takes the following parameters: <syntaxhighlight lang="lua"> {name = <param>, func = { name = <func>, params = <func_params>}, ... }, </syntaxhighlight> {| class="wikitable" | name | function in [[Module:Param Parse]] |- | params | a list of parameters to pass the the function, in the form of constants, or Infobox.raw_param(name), Infobox.param(name), Infobox.smw_param(name) |} |- | empty (optional) | text to display in the infobox if func returns nil; defaults to "? (edit)" |- | category_never (optional) | category to add if func returns nil for all versions |- | category_partial (optional) | category to add if func returns nil for some versions, but a value for other versions |- | category_incomplete (optional) | category to add if func returns nil for at least 1 version (i.e. category_never and category_partial combined) |- | category_complete (optional) | category to add if func returns a value for all versions |- | smw_property (optional) | if this string is defined, the parameter will be saved into SMW |- | smw_func (optional) | function to validate and process the Template argument to save into SMW. func is used by default if smw_func is not defined |} 12251ac3cbeb1f9fca31d535f82a36c2abe44340